【发布时间】:2010-05-17 00:45:52
【问题描述】:
所以这是场景...我有一个 XSD 文件,描述了我需要的所有对象。我可以使用 JAXB 在 Java 中创建对象没问题。我有一个需要解析为这些对象的 XML/RDF 文件。
最简单的方法是什么?
我一直在研究 Jena 并使用它,但看不到如何轻松地将 XML/RDF 文件映射到生成的 XSD 对象。这是 XSD 文件和 XML/RDF 文件的 sn-p:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:a="http://langdale.com.au/2005/Message#"
xmlns:sawsdl="http://www.w3.org/ns/sawsdl"
targetNamespace="http://iec.ch/TC57/2007/profile#"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns="http://langdale.com.au/2005/Message#"
xmlns:m="http://iec.ch/TC57/2007/profile#">
<xs:annotation/>
<xs:element name="Profile" type="m:Profile"/>
<xs:complexType name="Profile">
<xs:sequence>
<xs:element name="Breaker" type="m:Breaker" minOccurs="0" maxOccurs="unbounded"/>
还有 XML/RDF:
<!-- CIM XML Output For switch783:(295854688) -->
<cim:Switch rdf:ID="Switch_295854688">
<cim:IdentifiedObject.mRID>Switch_295854688</cim:IdentifiedObject.mRID>
<cim:IdentifiedObject.aliasName>Switch_295854688</cim:IdentifiedObject.aliasName>
<cim:ConductingEquipment.phases
rdf:resource="http://iec.ch/TC57/2009/CIM-schema-cim14#PhaseCode.ABC" />
<cim:Switch.circuit2>0001406</cim:Switch.circuit2>
<cim:Equipment.Line rdf:resource="#Line_0001406" />
【问题讨论】:
-
我不清楚你在问什么。你说你可以用 JAXB 管理它没有问题,那么问题是什么?
-
我可以使用 XSD 文件中的 JAXB 创建自己的类....但是使用 Jena 我不能获取一个 ACTUAL RDF/XML 文件并将它们作为这些创建的类的对象导入。当我解析 RDF/XML 文件时,我得到的只是具有资源/主题/等的 Jena 对象......而不是我在 xsd 文件上使用 JAXB 获得的格式的一堆对象。