この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 31367|答える: 4

[出典] HTMLアジリティパックのダウンロードと使い方

[リンクをコピー]
掲載地 2016/08/04 17:05:36 | | | |
ダウンロードアドレス:

http://htmlagilitypack.codeplex.com/

IEnumerable<HtmlNode> Ancestors();               この要素のすべての親ノードの集合を返します。
IEnumerable<HtmlNode> Ancestors(文字列名);                         パラメータ名がこの要素と一致するすべての親ノードの集合を返します。
IEnumerable<HtmlNode> AncestorsAndSelf();                          すべての親ノードとこの要素の自身の集合を返します。
IEnumerable<HtmlNode> AncestorsAndSelf(文字列名);                    この要素の名前に一致するすべての親ノードと自身の集合を返します。
HtmlNode AppendChild(HtmlNode newChild);                            パラメータ要素を子要素に付け加え、その子要素を呼び出します(最後に付加)
void AppendChildren(HtmlNodeCollection newChildren);              パラメータコレクション内の要素を呼び出し要素の子として付加します(最後に付加)
HtmlNode PrependChild(HtmlNode newChild);                     引数の要素を呼び出し要素の子要素として、呼び出し要素の上部に配置します
void PrependChildren(HtmlNodeCollection newChildren);              パラメータセット内のすべての要素を子要素として、呼び出し要素の前に置きます
static bool CanOverlapElement(文字列名);                    重複要素を保存できるかどうかを判断してください
IEnumerable<HtmlAttribute> ChildAttributes(文字列名);            すべての子要素の属性を取得します(パラメータ名は要素名と一致する必要があります)
HtmlNode Clone();                                        このノードは新しいノードにクローンされます
HtmlNode CloneNode(bool deep);                         ノードは新しいポイントにクローンされ、パラメータによって子要素をクローンするかどうかが決まります
HtmlNode CloneNode(string newName);                      クローン作成中に元素名を変更する
HtmlNode CloneNode(string newName, bool deep);          クローン作成中に元素名を変更してください。 子要素とクローンするかどうかを判断するためのパラメータ
void CopyFrom(HtmlNode node);                          重複ノードとその下にサブツリーを作成します。
void CopyFrom(HtmlNode node, bool deep);                    ノードのコピーを作成します。
XPathNavigator CreateNavigator();                                XPathNavigatorのこのドキュメントのために1つが戻ってきました
static HtmlNode CreateNode(文字列 html);                      文字列で新しいノードを作成できる静的メソッド
XPathNavigator CreateRootNavigator();                      ルートパス用のXPathNavigatorを作成する
IEnumerable<HtmlNode> DescendantNodes();                          すべての子ノードを取得する
IEnumerable<HtmlNode> DescendantNodesAndSelf();                      すべての子ノードと自分自身を手に入れてください
IEnumerable<HtmlNode> Subscendants();                     列挙リストのすべての子ノードを取得します
IEnumerable<HtmlNode> Descendants(文字列名);               列挙リストのすべての子ノードを取得し、要素名がパラメータと一致していることに注意してください
IEnumerable<HtmlNode> DescendantsAndSelf();                 列挙リストのすべての子ノードと自分自身を取得します
IEnumerable<HtmlNode> DescendantsAndSelf(文字列名);    列挙リスト内のすべての子ノードとそれ自体を取得し、要素名がパラメータに合うように注意してください
HtmlNode Element(文字列名);                          パラメータ名に基づいて要素を取得します
IEnumerable<HtmlNode> Elements(文字列名);                 パラメータ名に基づいて一致する要素の集合を得ます
bool GetAttributeValue(文字列名、bool def);                   このノードのプロパティの値を求めるためのヘルプメソッド(ブール型)。 プロパティが見つからない場合は、デフォルト値が返されます。
int GetAttributeValue(文字列名、int def);                     ヘルプメソッドは、このノードの属性の値(整数)を取得するために使われます。 プロパティが見つからない場合は、デフォルト値が返されます。
文字列 GetAttributeValue(文字列名、文字列 def);                 ヘルプメソッドは、このノードのプロパティの値(文字列型)を取得するために使われます。 プロパティが見つからない場合は、デフォルト値が返されます。
HtmlNode InsertAfter(HtmlNode newChild, HtmlNode refChild);            2番目のパラメータノードの後ろにノードを挿入することは、2番目のパラメータとの兄弟関係です
HtmlNode InsertBefore(HtmlNode newChild, HtmlNode refChild);          ノードは2番目のパラメータノードの後に挿入され、2番目のパラメータは兄弟関係であると言われます
static bool IsCDataElement(文字列名);                      要素ノードがCDATA要素ノードかどうかを判定します。
static bool IsClosedElement(文字列名);                     要素ノードが閉じているかどうかを判定します。
static bool IsEmptyElement(文字列名);                       空の要素ノードが存在するかどうかを判定します。
static bool IsOverlappedClosingElement(文字列テキスト);                 テキストがノードに対応しているかどうかを判別することで、重複する終わりマーカーを保存できます。
ヴォイドリム();                                   呼び出しノードを親コレクションから削除します
void RemoveAll();                                  呼び出しノードのすべての子ノードとプロパティを削除してください
無効化:すべての子供を除去();                              呼び出しノードのすべての子ノードを削除します
HtmlNode RemoveChild(HtmlNode oldChild);                     呼び出しノードの指定名を持つ子ノードを削除します
HtmlNode RemoveChild(HtmlNode oldChild, bool keepGrandChildren); 呼び出しノードの呼び出し名の子ノードを削除すると、2つ目のパラメータが孫ノードと共に子ノードを削除するかどうかを決定します
HtmlNode ReplaceChild(HtmlNode newChild, HtmlNode oldChild);          呼び出しノードの元の子ノードの一つを新しいノードに置き換えると、2つ目のパラメータが古いノードとなります
HtmlNodeCollection SelectNodes(string xpath);           XPathをベースにしたノードのコレクションを手に入れましょう
HtmlNode SelectSingleNode(string xpath);                     XPathをベースにしたユニークなノードを手に入れましょう
HtmlAttribute SetAttributeValue(文字列名、文字列値);             呼び出しノードのプロパティを設定します
文字列 WriteContentTo();                               そのノードのすべての子ノードを文字列に保存します。
void WriteContentTo(TextWriter outText);                     そのノードのすべての子ノードを指定されたTextWriterに保存します。
文字列 WriteTo();                                  現在のノードを文字列に保存します。
void WriteTo(TextWriter outText);                         現在のノードを指定されたTextWriterに保存します。
void WriteTo(XmlWriter ライター);                            現在のノードを指定されたXmlWriterに保存します。





先の:HtmlAgilityPackはhtml5のxpathノードを誤って解析します
次に:ASP.NET MVCはビューの共有デフォルトパス(MVC2、MVC3)を修正します
 地主| 掲載地 2016/08/05 14:45:10 |


ノード属性の値を取得します。
 地主| 掲載地 2017/03/01 17:16:09 |

XPathパス式

XMLドキュメント内のノードまたはノードの集合を選択するために使われます

1. 用語:ノード:7種類:要素、属性、テキスト、名前空間、処理コマンド、コメント、ドキュメント(ルート)ノード

2. ノード関係:親、子、兄弟姉妹、祖先、子孫

3. 経路式

nodename ノード名、このノードのすべての子ノードを選択してください 例: childnode 現在のノードの子ノードには、孫ノード以下のノードのノードは含まれていません。

/     从根节点选取  例:/root/childnode/grandsonnode  

  すべての子孫ノードを表します。例:/childnode 子ノード名の子孫ノードすべて

.    現在のノードを表します。例:./childnodeは現在のノードの子ノードを表します。

..     親ノードを表現例: /nearnodeは親ノードのニアノード子ノードを表します

       @ childnode に id 属性を持つすべてのノードセットを表すために /root/childnode/@id 属性を選択してください

4. 述語

述語はノード集合にいくつかの制限を課すことがあり、選択をより正確にすることができます

/root/book[1]    节点集中的第一个节点

/root/book[last()]  节点集中最后一个节点

/root/book[position() - 1]  节点集中倒数第二个节点集

/root/book[position() < 5]  节点集中前五个节点集

/root/book[@id]      节点集中含有属性id的节点集

/root/book[@id='chinese']  节点集中id属性值为chinese的节点集

/root/book[price > 35]/title  节点集中book的price元素值大于35的title节点集

5. ワイルドカード:XPathパスではワイルドカード(*,@*,node(), text())もサポートされています。

例:/bookstore/*

タイトル[@*]

6. XPath軸

現在のノードに対してノードの集合を定義します

すべての祖先ノードの祖先

すべての属性ノードを属性化します

子 すべての子要素

子孫はすべての子孫ノード(息子、孫など)です。 )

タグ付けを始める前にすべてのノードを追跡し、マーキングを終えた後にすべてのノードに先行します。

フォローシブラはタグの後にすべての兄弟ノードを終了させます

タグ付けを始める前に、すべての兄弟ノードを先行兄弟

名前空間:現在名前空間内のすべてのノード

親親

自己電流ノード

使用法:軸名:ノードテスト[述語]

例えば:ancestor::book

   child::text()

7. オペレーター

|  2つのノード集合のマージ例:/root/book[1] | /root/book[3]

+,-,*,dev,mod

=,!=,<,>,<=,>=

または、または
 地主| 掲載地 2018/01/04 16:39:23 |
特定のタグ属性var node = docの値を取ります。 DocumentNode.SelectSingleNode("//span[@prt-id='123']")。 属性["タグ"]。 価値;
 地主| 掲載地 2018/04/16 13:46:02 |


テーブルのデータを取得したい場合、コードは以下の通りです:



レンダリングは以下の通りです:


免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com