gpt4 book ai didi

c# - 在 XElement.ToString 结果中的 XAttributes 之间输入换行符/回车符

转载 作者:太空狗 更新时间:2023-10-30 00:53:45 24 4
gpt4 key购买 nike

有没有办法让 XElement.ToString 结果 xml 字符串中的属性之间出现换行符?

以下行不通——它保留了换行符,但将它们放在所有属性下方,因此只有 4/5 空行:

new XElement("options", new XText("\r\n"),
new XAttribute("updated", Updated.XmlTime()), new XText("\r\n"),
new XAttribute("color", Color), new XText("\r\n"),
new XAttribute("puppies", Puppies), new XText("\r\n"),
new XAttribute("isTrue", IsTrue), new XText("\r\n"),
new XAttribute("kitties", Kitties ?? "")),

最佳答案

您可以使用 XmlWriter 来完成。试试这个:

public static string ToStringFormatted(this XElement xml)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.NewLineOnAttributes = true;
StringBuilder result = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(result, settings)) {
xml.WriteTo(writer);
}
return result.ToString();
} // ToStringFormatted

然后

var xml =new XElement("options",
new XAttribute("updated", "U"),
new XAttribute("color", "C"),
new XAttribute("puppies", "P"),
new XAttribute("isTrue", "I"),
new XAttribute("kitties", "K")
);
Console.WriteLine(xml.ToStringFormatted());

产生这个:

<options
updated="U"
color="C"
puppies="P"
isTrue="I"
kitties="K" />

您可以使用各种 XmlWriterSettings 来设置不同的格式属性。

关于c# - 在 XElement.ToString 结果中的 XAttributes 之间输入换行符/回车符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303072/

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