我有一个XML字符串,它是从基于Visual Fox Pro的COM对象输出的,我试图将其读入DataSet。当我这样做时,它会抛出异常“字符串''不是有效的AllXsd值。”
基于Google搜索和Stack Overflow搜索,这通常是日期格式的问题。我确实有一个类型为datetime的字段“已更改”,但我在XML中没有任何此字段中包含任何数据的记录。假设该字段导致问题,并且我从不需要该字段中的数据,我怎么能告诉它忽略该字段中的数据或将其视为字符串或其他内容。
以下是令人讨厌的XML:
<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<VFPData>
<xsd:schema id="VFPData" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="VFPData" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="v_issue2" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="issue2id" type="xsd:int"/>
<xsd:element name="issueid" type="xsd:int"/>
<xsd:element name="materielid" type="xsd:int"/>
<xsd:element name="nsn">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="14"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nomen">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="35"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="qty" type="xsd:int"/>
<xsd:element name="serialized" type="xsd:boolean"/>
<xsd:element name="sewn" type="xsd:boolean"/>
<xsd:element name="tamid" type="xsd:int" minOccurs="0"/>
<xsd:element name="qty_return" type="xsd:int"/>
<xsd:element name="qty_lost" type="xsd:int"/>
<xsd:element name="qty_bo" type="xsd:int"/>
<xsd:element name="matlocid" type="xsd:int" minOccurs="0"/>
<xsd:element name="changed" type="xsd:dateTime"/>
<xsd:element name="need_ldy" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="lotcontrol">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="location" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="13"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="backordid" type="xsd:int"/>
<xsd:element name="accessories" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="2147483647"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="lax"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<v_issue2>
<issue2id>35571504</issue2id>
<issueid>2772562</issueid>
<materielid>5238</materielid>
<nsn>8405015299330</nsn>
<nomen>DESERT 8 POINT XXS</nomen>
<qty>2</qty>
<serialized>false</serialized>
<sewn>true</sewn>
<tamid>120</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol>N</lotcontrol>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571492</issue2id>
<issueid>2772562</issueid>
<materielid>7483</materielid>
<nsn>132510KIT4000</nsn>
<nomen>BELT KIT</nomen>
<qty>1</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571493</issue2id>
<issueid>2772562</issueid>
<materielid>6415</materielid>
<nsn>8420011121473</nsn>
<nomen>T-SHIRTS, BROWN COTTON XS</nomen>
<qty>9</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571494</issue2id>
<issueid>2772562</issueid>
<materielid>524</materielid>
<nsn>8415012279547</nsn>
<nomen>POLY PRO UNDERSHIRT, XS</nomen>
<qty>2</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571495</issue2id>
<issueid>2772562</issueid>
<materielid>530</materielid>
<nsn>8415012279543</nsn>
<nomen>POLY PRO DRAWER, SM</nomen>
<qty>2</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571496</issue2id>
<issueid>2772562</issueid>
<materielid>7244</materielid>
<nsn>8415015394045</nsn>
<nomen>GORTEX FLEECE LINER XS/R</nomen>
<qty>1</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571497</issue2id>
<issueid>2772562</issueid>
<materielid>6422</materielid>
<nsn>8430014939165</nsn>
<nomen>BOOTS, HW STEEL TOE, DESERT 3N</nomen>
<qty>2</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571498</issue2id>
<issueid>2772562</issueid>
<materielid>5301</materielid>
<nsn>8440015083357</nsn>
<nomen>SOCKS, MOIST MGT XS</nomen>
<qty>9</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571499</issue2id>
<issueid>2772562</issueid>
<materielid>5461</materielid>
<nsn>8415014753633</nsn>
<nomen>DESERT CW TROUSERS XS XS</nomen>
<qty>1</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571500</issue2id>
<issueid>2772562</issueid>
<materielid>5445</materielid>
<nsn>8415014702065</nsn>
<nomen>DESERT CW PARKA XS XS</nomen>
<qty>1</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571501</issue2id>
<issueid>2772562</issueid>
<materielid>5447</materielid>
<nsn>8415013275324</nsn>
<nomen>DCU DESERT TROUSER XS-XS</nomen>
<qty>4</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571502</issue2id>
<issueid>2772562</issueid>
<materielid>5285</materielid>
<nsn>8415014863298</nsn>
<nomen>DCU DESERT BLOUSE XS XXS</nomen>
<qty>4</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
<v_issue2>
<issue2id>35571503</issue2id>
<issueid>2772562</issueid>
<materielid>5244</materielid>
<nsn>8415013274828</nsn>
<nomen>DCU DESERT SUN HAT 6-1/2</nomen>
<qty>2</qty>
<serialized>false</serialized>
<sewn>false</sewn>
<tamid>0</tamid>
<qty_return>0</qty_return>
<qty_lost>0</qty_lost>
<qty_bo>0</qty_bo>
<matlocid>0</matlocid>
<changed/>
<need_ldy>false</need_ldy>
<lotcontrol/>
<location/>
<backordid>0</backordid>
<accessories/>
</v_issue2>
</VFPData>
答案 0 :(得分:1)
我通过使用XMLReadMode.InferSchema让它工作,我认为它现在将该元素视为除日期之外的某种类型。
MyDataSet.ReadXml(MyXMLStringReader, XmlReadMode.InferSchema);