我遇到了很多人似乎都遇到的问题,使用 Web 服务创建 XML 文件,但我遇到的问题是编码都是错误的,而不是正确的 XML:
所以它看起来像这样:
<?xml version="1.0" encoding="utf-16"?>
<string><!--This file generated by XMLPull tool on 06/28/2012 05:01:21 AM-->
<!--Datasource: Ticket-->
<DATASET><DATAROW><TicketDesc>TEST TICKET</TicketDesc></DATAROW></DATASET></string>
代替
<?xml version="1.0" encoding="UTF-16"?><!--This file generated by the XMLPull tool on 6/28/2012--><!--Datasource: Ticket--><DATASET><DATAROW TicketDesc="TEST TICKET></DATASET>
和使用的架构:
<?xml version="1.0"?>
<xsd:schema id="DATASET" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="DATASET">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="DATAROW" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DATAROW">
<xsd:annotation>
<xsd:appinfo/>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="TicketDesc">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="2048"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:schema>
因此,该文件似乎来自 web 服务(带有 html 标记?)我如何更改上面的架构以匹配此文件:
<?xml version="1.0" encoding="UTF-16"?><!--This file generated by the XMLPull tool on 6/28/2012--><!--Datasource: Ticket--><DATASET><DATAROW TicketDesc="TEST TICKET></DATASET>
我曾尝试在 SSIS 中弄乱 XML Task 和 XPATH,但格式仍然错误。