更新搜索XML元素
我想有一個表達式(XPath的,或正則表達式表達類似的),可以與特定的命名空間相匹配的XML元素。例如,我想查找鏈接元素的值(例如,我需要下面顯示的http://url within <b:link>http://url</b:link>)
。但是,名稱空間前綴根據不同的xml文件而有所不同,如情況1-3所示:
考慮到允許的字符命名空間前綴(例如任何允許/有效的字符),任何人都可以提供解決方案(XPath,正則表達式或類似的方法嗎?)
請注意,因爲xml文件是未知的,所以命名空間和前綴在運行時纔是未知的。這是否意味着我不能使用此XDocument/XmlDocument,因爲它需要在代碼中知道命名空間。
更新
案例1
<A xmlns:b="link">
<b:link>http://url
</b:link>
</A>
案例2
<A xmlns="link">
<link>http://url
</link>
</A>
案例3
<A xmlns:a123="link">
<a123:link>http://url
</a123:link>
</A>
請注意,鏈接元素中的URL可以是任何HTTP URL,以及未知的,直到運行。
更新
請註明了我的問題。
因爲xml文件是未知的,所以命名空間和前綴在運行時纔是未知的。這是否意味着我不能用這種方式。? – Pingpong
請參閱我更新的答案,它應該在您不知道名稱空間時起作用。 XDocument是處理Xml的一個很好的API。 – GemCer