簡體   English   中英

XML:如何刪除節點<x elements, but keep the ones with > x 元素

[英]XML: How to delete nodes with <x elements, but keep the ones with >x elements

我在這里有一個關於 XML 文件的小問題。 我正在編寫一個程序來讀取 XML 文檔並出於其他目的處理信息。

我還在寫閱讀部分。 讀取 XML 並不難,但不幸的是,創建這些 XML 文件的程序存在一些缺陷。 它有時會創建僅包含子節點“Count1”但不包含其他任何內容的節點。 子節點也是空的。

我編寫了一個例程,它會遍歷所有節點並計算子節點和元素的數量,這樣我就可以找出哪些節點是空的並刪除它們。

問題是,有時(幾乎)空節點與非空節點具有相同的名稱。 在這種情況下,它會刪除包含信息的錯誤節點。

所以我需要的是一種在刪除它之前找出該節點中有多少元素的方法。 我可以使用.SelectSingleNode()輕松找到適合名稱的節點,但它只能找到具有該名稱的第一個元素,我無法切換到下一個元素。

您知道如何遍歷同一個名稱的節點並僅刪除我想要的節點嗎?

您可以嘗試使用.SelectNodes()而不是.SelectSingleNode()以便您可以遍歷返回的所有節點並檢查每個節點的任何條件並相應地采取行動。

如果您可以發布 XML 的簡潔示例和您擁有的 C# 代碼的相關部分(我想檢查空節點,如您所說,可以僅在 XPath 中完成),那么可能有一個更適合您情況的不同建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM