xmlからjson形式へデータを変換しようとしています。そのために、xml出力からxsdスキーマを作成してxmlからjsonにデータを変換しています。続きXMLからJSON形式にデータを変換する際のXSDスキーマの問題
は、私は上記のXMLから定義されていると私は別のエラーのそれぞれについてを取得していますという二つの異なるXSDスキーマのある後JSON
<?xml version="1.0" encoding="UTF-8"?>
<SyncData>
<Employerid>12345</Employerid>
<ImporterEmail>[email protected]</ImporterEmail>
<ReportEmail>[email protected]</ReportEmail>
<Employees>
<wd:WorkerSummary xmlns:is="java:com.workday.esb.intsys.xpath.
ParsedIntegrationSystemFunctions"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xdiff="urn:com.workday/esb/xdiff" xmlns:wd="urn:com.workday/bsvc">
<wd:ReferenceID/>
<wd:Name>abcdef,ghijklm</wd:Name>
<wd:Title/>
<wd:EmployeeId>JG00889</wd:EmployeeId>
<wd:EMail>[email protected]</wd:EMail>
<wd:AddressLine1>1400 Post Alm Tyui</wd:AddressLine1>
<wd:City>Bostonn</wd:City>
<wd:State>MC</wd:State>
<wd:Zip>11067</wd:Zip>
<wd:Country>AUS</wd:Country>
</wd:WorkerSummary>
</Employees>
</SyncData>
に変換する必要が私のxmlです。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.your-company.com/WorkermapSchema"
xmlns:tns="http://www.your-company.com/WorkermapSchema"
elementFormDefault="qualified">
<xs:element name="WorkerSummary">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="ReferenceID" />
<xs:element type="xs:string" name="Name" />
<xs:element type="xs:string" name="Title" />
<xs:element type="xs:string" name="EmployeeId" />
<xs:element type="xs:string" name="EMail" />
<xs:element type="xs:string" name="AddressLine1" />
<xs:element type="xs:string" name="City" />
<xs:element type="xs:string" name="State" />
<xs:element type="xs:string" name="Zip" />
<xs:element type="xs:string" name="Country" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
私はこのスキーマになっていたエラーは以下の通りである
com.workday.esb.xmltojson.XmlToJsonException:ルート要素があるので、 "SyncData"
を発見していないタイプ上記のエラーは、ルート要素 "SyncData"が見つかりません、私は次のようにルート要素とは別の方法でスキーマを定義しようとしました。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="NewDataSet" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-
microsoft-com:xml-msdata" xmlns:app1="urn:com.workday/bsvc">
<xs:import namespace="urn:com.workday/bsvc"></xs:import>
<xs:element name="SyncData">
<xs:complexType>
<xs:sequence>
<xs:element name="Employerid" type="xs:string" minOccurs="0" />
<xs:element name="ImporterEmail" type="xs:string" minOccurs="0" />
<xs:element name="ReportEmail" type="xs:string" minOccurs="0" />
<xs:element name="Employees" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="WorkerSummary" type="xs:string"/>
<xs:element name="ReferenceID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NewDataSet" msdata:IsDataSet="true"
msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="SyncData" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
上記のXSDスキーマを使用した後、エラーは以下の通りですが、私はルート要素「SyncData」に関連したエラーを取得していないのですが、私はそれが何であるか理解していないのです別のエラーを取得しています。
org.codehaus.stax2.typed.TypedXMLStreamException:ParseErrorですで[行、列]:[2359]のメッセージ:型付きアクセス方法
を使用するときに要素内容が子START_ELEMENTを含めることはできませんものはありますスキーマが間違っている、またはエラーは何についてですか?
私はxsdスキーマに対して必要なときに完全に実行しようと試みましたが、何かが不足していると思われています。
あなたは、各スキーマ内の1が欠落している使用することができます。第1のスキーマでWorkerSummaryが正しくなっている間は、間違っていて単純な要素にして、2番目のスキーマのオブジェクトではないようにしました。 ' 'これは子要素を含むことができないことを意味します。 –
Optional
あなたの素早い応答のためにたくさんありがとう、私は第1のスキーマで要素 "SyncData"を言及しようとしましたが、そうすることができませんでしたので、私はそれを行うことができませんでした。そして私は第2のスキーマでWorkerSummary要素を追加しようとしました。要素タイプ "xs:element"は、一致する終了タグ ""で終了する必要があります。 –
基本的に2つのスキーマを含める必要があります。それを答えとして投稿させてください。 – Optional