htmlのagility packとxpathを使ってすべての子ノードを取得する方法

html-agility-pack xml xpath

質問

私はXPathを使ってHTMLアジャイル・パックと解析しようとしているXML文書を持っています。これは要素を取得するための私のコードです:

HtmlDocument htmldoc = new HtmlDocument();
htmldoc.Load(fileName);
HtmlNodeCollection nodes = htmldoc.DocumentNode.SelectNodes("feed/l");

これは私のXML文書です

<?xml version="1.0" encoding="UTF-8"?>
<feed>
<tm>5701</tm>
<tp>1141</tp>
<pnr>1</pnr>
<l type="TEXT">
<ca>
<c id="21">JA</c>
</ca>
<pts>
<pt id="5">DO</pt>
</pts>
<od>MA 99</od>
<osd>2014-02-21</osd>
<od>2014-02-22</od>
<cu>url</cu>
<ip>ip</ip>
<ai>3184</ai>
<an>com</an>
<n id="1">US n</n>
</l>
</feed>

私はlとその子の子であるすべてのノードを取得しようとしていますが、私のXPathはlを持つノードをコレクションとして返しますが、子はnullです。私はによってグループ化を探していたノードlこれらがあります

 <ca>
<c id="21">JA</c>
</ca>
<pts>
<pt id="5">DO</pt>
</pts>
<od>MA 99</od>
<osd>2014-02-21</osd>
<od>2014-02-22</od>
<cu>url</cu>
<ip>ip</ip>
<ai>3184</ai>
<an>com</an>
<n id="1">US n</n>

子供はいません。私のXPathが正しいように助けてください。

人気のある回答

あなたのXPathは

feed/l/*

子供たちがl要素を望むように。だからあなたのコードでそれはすべきです

HtmlNodeCollection nodes = htmldoc.DocumentNode.SelectNodes("feed/l/*");


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ