如何将多个记录转换为一个XML记录
这是XML源代码:如何将多个记录转换为一个XML记录,xml,xslt,tibco,Xml,Xslt,Tibco,这是XML源代码: <SalesInRecord> <ROW_NUM>8</ROW_NUM> <BUY_QTY>5</BUY_QTY> <HP_PRODUCT_ID>Apj45682#123</HP_PRODUCT_ID> <LOCATION_ID>2-PQL-3403</LOCATION_ID> <LOCATIO
<SalesInRecord>
<ROW_NUM>8</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<HP_PRODUCT_ID>Apj45682#123</HP_PRODUCT_ID>
<LOCATION_ID>2-PQL-3403</LOCATION_ID>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3455</SUPPLIER_ID>
</SalesInRecord>
<SalesInRecord>
<ROW_NUM>5</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<PRODUCT_ID>Apj45683#123</PRODUCT_ID>
<LOCATION_ID>2-PQL-3403</LOCATION_ID>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3457</SUPPLIER_ID>
</SalesInRecord>
<SalesInRecord>
<ROW_NUM>6</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<PRODUCT_ID>Apj45684</PRODUCT_ID>
<LOCATION_ID/>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3455</SUPPLIER_ID>
</SalesInRecord>
<SalesInRecord>
<ROW_NUM>7</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<PRODUCT_ID>Apj45685</PRODUCT_ID>
<LOCATION_ID/>
<LOCATION_NAME>XYZ XY</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3455</SUPPLIER_ID>
</SalesInRecord>
8.
5.
Apj45682#123
2-PQL-3403
XYZ el
999999999
2-PQL-3455
5.
5.
Apj45683#123
2-PQL-3403
XYZ el
999999999
2-PQL-3457
6.
5.
Apj45684
XYZ XYZ
999999999
2-PQL-3455
7.
5.
Apj45685
XYZ XY
999999999
2-PQL-3455
当我试图用下面的xsd解析上面的数据时,我得到了一个错误
Msg:解析时出错:根元素后面文档中的标记必须格式正确
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<xs:element name="SalesInRecord">
<xs:complexType>
<xs:sequence>
<xs:element name="ROW_NUM" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="BUY_QTY" type="xs:integer" nillable="true" minOccurs="0"/>
<xs:element name="PRODUCT_ID" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="LOCATION_ID" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="LOCATION_NAME" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="UNIT_BUY_PRICE" type="xs:decimal" nillable="true" minOccurs="0"/>
<xs:element name="GOODS_RECEIVED_DATE" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="TRANSACTION_CURRENCY" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="TRANSACTION_DATE" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="TRANSACTION_DOCUMENT_ID" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="TRANSACTION_DOCUMENT_TYPE" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_ADDR_ASIAN" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_ADDR_STATE" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_ADDR_TOWN" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_ID" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_ISO_COUNTRY_CODE" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_NAME" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIER_POSTAL_CODE" type="xs:string" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
请帮助我解析上述数据您提到的上述xml应该有一个根元素。可能看起来像这样
<SalesInData>
<SalesInRecord>
<ROW_NUM>8</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<HP_PRODUCT_ID>Apj45682#123</HP_PRODUCT_ID>
<LOCATION_ID>2-PQL-3403</LOCATION_ID>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3455</SUPPLIER_ID>
</SalesInRecord>
<SalesInRecord>
<ROW_NUM>5</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<PRODUCT_ID>Apj45683#123</PRODUCT_ID>
<LOCATION_ID>2-PQL-3403</LOCATION_ID>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3457</SUPPLIER_ID>
</SalesInRecord>
<SalesInRecord>
<ROW_NUM>6</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<PRODUCT_ID>Apj45684</PRODUCT_ID>
<LOCATION_ID/>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3455</SUPPLIER_ID>
</SalesInRecord>
<SalesInRecord>
<ROW_NUM>7</ROW_NUM>
<BUY_QTY>5</BUY_QTY>
<PRODUCT_ID>Apj45685</PRODUCT_ID>
<LOCATION_ID/>
<LOCATION_NAME>XYZ XY</LOCATION_NAME>
<UNIT_BUY_PRICE>999999999</UNIT_BUY_PRICE>
<SUPPLIER_ID>2-PQL-3455</SUPPLIER_ID>
</SalesInRecord>
<SalesInData>
8.
5.
Apj45682#123
2-PQL-3403
XYZ el
999999999
2-PQL-3455
5.
5.
Apj45683#123
2-PQL-3403
XYZ el
999999999
2-PQL-3457
6.
5.
Apj45684
XYZ XYZ
999999999
2-PQL-3455
7.
5.
Apj45685
XYZ XY
999999999
2-PQL-3455
此外,要将SalesInData应用于XSLT,只需根据您的需求硬编码即可
<xsl:element name="SalesInData">Dump your required data </xsl:element>
转储所需的数据
在该文档中有多个
元素,其中不包含充当根元素的
。格式正确的XML文档只有一个根元素,而您有多个。如何将作为根元素添加到上述记录集中。当我尝试使用XSLT transformationTo@MarcB的point添加时,我遇到了相同的错误,源XML无效,因为它没有根元素开始。“修复”它使之成为正确、有效的XML很可能意味着联系向您提供该XML的任何人,并要求他们验证它。