gpt4 book ai didi

c# - 如何忽略 XML 中的空格和新行

转载 作者:数据小太阳 更新时间:2023-10-29 02:36:33 27 4
gpt4 key购买 nike

我有一个 XML 文件,我将在其中循环遍历节点并获取属性值。

但是除了属性值之外,我还在输出中得到了一些符号(矩形框)。如果我尝试删除空格在标签之间就可以了。

在下面的 XML 中,我得到了标题的内部文本。

 <catalog>
<book id="bk101">
<details>
<title>XML Developer's Guide</title>
</details>
</book>
</catalog>

如果我的输入是这样就好了:

  <catalog>
<book id="bk101">
<details><title>XML Developer's Guide</title></details>
</book>
</catalog>

我正在使用 C#

 foreach (XmlNode catalogid in Xmlcontent.GetElementsByTagName("catalog"))
{
foreach (XmlNode bookid in catalogid)
{
foreach (XmlNode titleid in bookid)
{
string booktitle = titleid.InnerText.ToString();
}
}
}

请建议我如何忽略输出中的空格和新行。

最佳答案

您是否仅限于使用 .Net 2.0?如果是这样,请忽略以下内容。

如果您可以使用 .Net 3.5,那么以下 Linq-To-Xml 将适合您。

  1. 首先加载文件
  2. 像您一样获取所有 Catalog 元素
  3. 然后选择目录中的所有书籍
  4. 获取图书id和书名
  5. 将所有目录中的所有图书作为一个数组分配到一个变量 books 中。

.

XElement root = XElement.Load(file);
var catalogs = root.Descendants("catalog");
var books = catalogs.SelectMany(c =>
c.Descendants("book").Select(book => new
{
Id = book.Attribute("id").Value,
Title = book.Descendants("title").First().Value
}))
//.OrderBy(b => b.Title) // sort by title or id if you'd like.
.ToArray();

关于c# - 如何忽略 XML 中的空格和新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12402385/

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