XMLataを要素内に配置しようとしています。しかし、解析部分XDocument.Parseは "CDATAの解析中に予期しないファイルの終わりが発生しました"と失敗します。私は明らかにxml文字列を整理してCDataを削除することができますが、なぜこの解析はできませんか?XDocument.ParseはXML内のCDataで例外をスローします
//this throws an exception
var xDoc = XDocument.Parse(GetSampleXmlText());
private string GetSampleXmlText()
{
//WARNING: Tests will break if element order/hierarchy is changed
var xml =
@"<?xml version=""1.0"" encoding=""UTF-8""?> " +
@"<ac_application> " +
@" <primary_applicant_data> " +
@" <first_name>Joe</first_name> " +
@" <middle_name></middle_name> " +
@" <last_name>Irving</last_name> " +
@" <ssn>123456789</ssn> " +
@" <dob>09/09/1979</dob> " +
@" <email_address>[email protected]</email_address> " +
@" <home_phone>3215551212</home_phone> " +
@" <mobile_phone>3215898888</mobile_phone> " +
@" <contact_number officePhone=""1x34ad789"" /> " +
@" <contact_number cellPhone=""(321)898-8888"" /> " +
@" <other_phone>(321)666-7777</other_phone> " +
@" <invalid_phone>32aZ9xd8</invalid_phone> " +
@" <valid_id type=""SSN"">9999999990</valid_id> " +
@" <valid_id type=""ITIN"">99-999-99990</valid_id> " +
@" <address type=""current""> " +
@" <street_no>14</street_no> " +
@" <street_name>B</street_name> " +
@" <apt_no>155</apt_no> " +
@" <city>Santa Ana</city> " +
@" <state>CA</state> " +
@" <zip_code>6654</zip_code> " +
@" </address> " +
@" <address type=""permanent""> " +
@" <street_no>54</street_no> " +
@" <street_name>B</street_name> " +
@" <apt_no>104</apt_no> " +
@" <city>Santa Fe</city> " +
@" <state>CA</state> " +
@" <zip_code>60750</zip_code> " +
@" </address> " +
@" </primary_applicant_data> " +
@" <vehicle> " +
@" <year>2013</year> " +
@" <make>Toyota</make> " +
@" <model>Corolla</model> " +
@" <trim>4D Sedan</trim> " +
@" <odometer>175,000</odometer> " +
@" <price>$15,700</price> " +
@" </vehicle> " +
@" <secret_data><![CDATA[topsecret]]</secret_data> " +
@"</ac_application> ";
return xml.Trim();
}
ようこそ:これは右の構文です!なぜこれが問題であり、その解決が何であるかについてのさらなる説明は、回答者だけでなく将来の読者にも役立つでしょう。さらに詳しい説明を追加すると、あなたは答えが投票されるか、質問者が受け入れることができます。 –