私は、次のXML(試験例)を有し、W3Cドキュメントショーの名前空間修飾終了タグのすべての例もののThe 'ss:Data' start tag on line 12 position 14 does not match the end tag of 'Data'. Line 12, position 43.
:DataSet.ReadXml()を使用してファイルを読み取ろうとすると必須のXML終了タグ名は、XML終了タグ名とまったく同じですか?
<?xml version="1.0" encoding="UTF-8"?><?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" >
<Styles>
<Style ss:ID="s21"><NumberFormat ss:Format="@"/></Style>
</Styles>
<Worksheet ss:Name="--">
<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1" x:FullRows="1" ss:StyleID="s21">
<Column ss:StyleID="s21" ss:Width="184"/>
<Row>
<Cell><ss:Data ss:Type="String">42</Data></Cell>
</Row></Table></Worksheet></Workbook>
、次の例外が生成されますMS Excelは警告なしでそのようなファイルを開きます。
設定DataSet.Namespace = "ss";
は何も変更されません。
このファイルを読み込むには、できるだけ余分なライブラリを追加する必要はありませんか?
があるべき参照: – jdweng
は@jdwengはい、それは完璧なXMLは次のようにすべきではないと思われます。私の質問です:このXMLは、それを変更する自由がないので、どのように私はそれを解析する必要があります? ""のすべてのインスタンスを ""、すべてのインスタンス ""を ""に置き換えると、おそらく動作しますが、「簡単な」方法があるかどうかは疑問です。 –
Abstraction
@Abstraction:このようにはならないのは「完璧な」XMLだけではありません。 * * XML *はこのようにはできません。そうでなければXMLではありません。 – kjhughes