我在XML文件中检索一些数据时遇到了一些困难。 这就是我的XML:
<?xml version="1.0" encoding="windows-1252"?>
<hexML version="0.9">
<head>
<title><![CDATA[Title ]]></title>
<description/>
<ftm date="2014-09-24T16:34:37 CET"/>
</head>
<body>
<press_releases>
<press_release id="1796257" language="fr" type="5">
<published date="2014-06-19T11:55:09 CET"/>
<categories>
<category id="75" label="French" keywords="language"/>
</categories>
<headline><![CDATA[Test Release for Website 3]]></headline>
<main><![CDATA[TEXT XML DETAILLE]]></main>
<footer><![CDATA[]]></footer>
<files>
<file id="618383" format="pdf" type="Regular Attachment">
<file_headline><![CDATA[Test Attachment]]></file_headline>
<location><![CDATA[http://test.html1796257/618383.pdf]]></location>
</file>
</files>
<location href="/S/151406/1796257.xml"/>
</press_release>
</press_releases>
</body>
</hexML>
我尝试获取此数据:http://test.html1796257/618383.pdf(在“files”标签中)
这是我到目前为止所尝试的:
string Linkpdf = (from c in DetailXml.Descendants("files")
select c.Element("location").Value).Single();
这让我回到上面提到的例外情况。 谢谢你的帮助
答案 0 :(得分:2)
如果XML缩进正确:
<files>
<file id="618383" format="pdf" type="Regular Attachment">
<file_headline><![CDATA[Test Attachment]]></file_headline>
<location><![CDATA[http://test.html1796257/618383.pdf]]></location>
</file>
</files>
您将能够清楚地看到<location>
是<file>
中<files>
元素的直接孩子:
string Linkpdf = (from c in DetailXml.Descendants("files")
select c.Element("file").Element("location").Value).Single();