gpt4 book ai didi

c# - 解析 xml 并显示节点值时删除 "#text"

转载 作者:太空宇宙 更新时间:2023-11-03 10:44:46 26 4
gpt4 key购买 nike

我有一个程序可以像这样显示节点名称和值

public void findAllNodes(XmlNode node)
{
Console.Write("{0}:", node.Name);

Console.WriteLine(node.Value);
Console.WriteLine("{0}"," ");
foreach (XmlNode n in node.ChildNodes)
findAllNodes(n);
}

使用这个 xml:

<application_data>
<applicant_data type="primary">
<first_name>VINNY</first_name>
<mi></mi>
<last_name>SSILVERLACE</last_name>
<ssn>666279999</ssn>
<dob>1973-06-27</dob>
<address type="current">
<po_box_no></po_box_no>
<roural_route></roural_route>
<street_no>7690</street_no>
<street_name>KETTLEDRUMS</street_name>
<apt_no></apt_no>
<city>MILILANI TOWN</city>
<state>HI</state>
<zip_code>96789</zip_code>
</address>
</applicant_data>
</application_data>

但是对于这段代码,在显示节点值的时候,是这样显示的

#text:("node value"). 

你能建议一些从节点值中删除“#text”的方法吗?

最佳答案

它与您的 xml 无关,但与您的 node.Name 语句有关。

如果你看here你会看到,node.Name 每次都会为文本节点打印#text。我对 XmlNode 不够熟悉,无法告诉您如何获取您想要的标签名称。正如有人评论的那样,您可以尝试 Linq-To-Xml。

例子:

public void findAllNodes(XElement node)
{
Console.Write("{0}:", node.Name.ToString());

Console.WriteLine(node.Value);
Console.WriteLine("{0}"," ");
foreach (XElement n in node.Elements())
findAllNodes(n);
}

findAllNodes(XElement.Load(file));

关于c# - 解析 xml 并显示节点值时删除 "#text",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23894324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com