これまでのところ、私がやっていることは次のとおりです。
try
{
XmlDocument xmldoc = loadXml(orderFilePath);
}
catch (XmlException exception)
{
//... blah blah - there was an error, let the user know
}
しかし、とにかくファイルを解析できるようにしたいと思っています。「不正な形式」と言うとき、閉じられていないタグまたは要素があることを必ずしも意味するわけではありませんが、要素の値に含まれる次のいずれかのようなものがある可能性があります: '<'、'>'、'&'
おそらく XmlReader を使用する必要があると言及されているのを見てきましたが、それでもその要素で例外がスローされるか、何らかの方法で問題を修正できるでしょうか?
ソースで XML を修正することが最善の解決策であることはわかっていますが、XML がどこから来ているのかは制御できません。
ありがとう!
編集:
XML の非常に単純な例:
<Order>
<Customer_ID>555-555-5555</Customer_ID>
<ShipToAddress>
<Customer_Name>Some Guy</Customer_Name>
<Street>123 Fake Dr.</Street>
<Street2></Street2>
<City>West Palm Beach</City>
<State>FL</State>
<ZipCode>33417</ZipCode>
<Country>United States</Country>
</ShipToAddress>
<BillToAddress>
<Customer_Name>Some Guy</Customer_Name>
<Street>123 Fake Dr.</Street>
<Street2></Street2>
<City>West Palm Beach</City>
<State>FL</State>
<ZipCode>33417</ZipCode>
<Country>United States</Country>
</BillToAddress>
<items>
<item>
<Product_ID>25101</Product_ID>
<Product_Name></Product_Name>
<Quantity>1</Quantity>
<USPrice>26.95000</USPrice>
</item>
</items>
<!-- bad stuff here -->
<How_did_you_hear_about_us>Coffee & Tea magazine</How_did_you_hear_about_us>
<!-- bad stuff here -->
</Order>
問題は、それが常に同じ場所にあるかどうかは必ずしもわかりません。