我想解析HTML(可以假設爲XML,通過Tidy轉換)並獲取所有文本節點(這意味着Body標籤中可見的節點)以及它們在XML文件中的位置。位置意味着平面XML文件中的文本位置。如何從XML文件中獲取文本中的文本?
回答
XmlTextReader
implements IXmlLineInfo
- 如果您查看IXmlLineInfo
的文檔,它給出了讀取XML文件並報告每個節點位置的示例。
編輯:對於那些說這是無關緊要的,它可能與XML無關 - 但很可能不會對人類。如果您試圖告訴人們在XML中查找特定位的位置,那麼報告行號和位置會非常有幫助。
您不應該依賴XML文件中的文本位置(任何理智的解析器完全忽略空白)。你可以(也應該)做的是使用XPath來識別你感興趣的節點,然後從這些節點中取出文本。如果您只對文本節點感興趣,那麼查詢「// text()」將抓取所有文本節點。
的問題不是關於提取文本節點,我可以更輕鬆反正做:
SAX用於.NET中描述。 HTML瀏覽器具有InnerText屬性。我不希望文本位置高速修改,XML解析器無法達到我想要的效果。 –
閱讀XML的SAX規範(幾乎所有的XML工具都實現這個規範)爲ContentHandler提供了一個定位器,它可以讓你獲得行和字符(列)的編號。 (我錯過了對C#的要求,上面的例子是針對Java的,但我會嘗試找到相應的C#接口)。
事件可能是一串字符。 http://saxdotnet.sourceforge.net/
這個問題指定了C#。 –
- 1. 如何從xml中獲取xml文本?
- 2. 如何從C#中MS Project的XML文件中獲取文本?
- 3. 如何從文本框中的文本中獲取文件名
- 4. 從XML文件中獲取文本,並打印在HTML文件
- 5. 從xml文件中提取文本
- 6. 如何從xcode項目中的本地文本文件中獲取文本
- 7. 如何從python的文本文件中獲取基本url?
- 8. 獲取文本文件中的版本
- 9. 從PDF文件中獲取純文本
- 10. 從文本文件中獲取語法
- 11. 從文本文件中獲取參數
- 12. 如何從Java中的XML文件提取所有PCDATA(文本)?
- 13. 如何從c#中的文本文件中獲取某些行?
- 14. 從RTF文本中獲取純文本
- 15. 如何僅從XML文件獲取文本?
- 16. 使用PHP從Xml文件中獲取文本
- 17. 如何從保存的文件中獲取保存的文本
- 18. 如何從文本旁邊的文本框中獲取值
- 19. 如何從Qt創建者的文本框中獲取文本?
- 20. 如何從XAP文本文件中讀取文本?
- 21. 如何從WP7中的RSS文件獲取圖像和文本?
- 22. 如何從c#中的文本文件獲取數據
- 23. 如何從文本文件中獲取所需的列數據?
- 24. 如何從一個文本文件中獲取的JSON在Python
- 25. 如何從python中的文本文件獲取基礎url?
- 26. 如何從批處理文件中的文本文件中獲取字符串?
- 27. 如何從JTextArea中獲取文本?
- 28. 如何從圖像中獲取文本?
- 29. 如何從窗口中獲取文本?
- 30. 如何從OptionSet中獲取值/文本?
這很好,但會解決問題,我不想要行號和行位置,我正在查找XML文件中的確切字符位置,不確定是否可以獲取該位置。 –
@Priyank:不,我不敢肯定你可以。 –
您可以通過將文件加載爲文本(使用XmlTextReader.Encoding進行解碼)並計算換行符,從line + column回到字符偏移量。 – bobince