2011-05-23 11 views
1

I持って<br/>例えば:HTMLAgilityPackとに分離<br/>

Jack Janson 
<br/> 
309 123 456 
<br/> 
My Special Street 43 

3列の情報を取得するための最も簡単な方法は何によって分離されているいくつかのHTML、?

私はXPathのエキスパートではないので、別の方法としては、改行で文字列を区切り、配列で処理する方法があります。それを行うよりスマートな方法がありますか?

更新:コードをフォーマットするのを忘れました。

+0

は、HTMLの例を投稿してくださいます

HtmlDocument doc = new HtmlDocument(); doc.Load(myHtmlFile); foreach (HtmlNode p in doc.DocumentNode.SelectNodes("//br")) { Console.WriteLine(p.PreviousSibling.InnerText.Trim()); } 

を。 –

答えて

3

XMLを超える純粋なXPATHでは、あなたがこのようなXPATH式を使用します://preceding-sibling::brまたは//following-sibling::brは(XPATH Axesについてのヘルプはこちらを参照)

しかし、あなたは、HTML敏捷性パックで見つけるHTMLの実装を超えるXPATH XPATH選択式では、純粋なテキストノードまたは(属性ノード)をサポートしていません(//br/text()または//br/@blahなど)。これはフィルタで動作するので、//br[text()='blah']または//br[@att='blah']が機能します。

ので、バックの質問に、あなたは、XPathやコード、このような何か結合する必要があります:出力

Jack Janson 
309 123 456