在XML属性内添加换行符

时间:2019-02-14 17:31:01

标签: c# xml unity3d

我正在使用C#生成XML文件,我需要将多个值放在单个属性内,不应将属性值放在属性外的字符串中。我的小组负责人要求通过在每个值之后添加换行符来使其更具可读性。我很想弄清楚该怎么做。

结果必须放在单个属性中,不能创建多个属性或属性+字符串。

到目前为止,我已经尝试过:

  • \ n \ r给出“无效的XML NCName”错误;

  • &#10&#13给出“无效的XML NCName”错误;

  • 我没有设法在C#中找到与XDocument不同的类,这使我可以将多个变量很好地放置在单个属性中并支持换行符。

代码经过简化,但这就是工作流程的思想。

XDocument doc = new XDocument(
                  new XDeclaration("1.0", "utf-8", "yes"),
                  new XComment(" XML File "),
                );

new XElement("Source1",
                new XAttribute("id", SourceID[i]),
                new XAttribute("active", SourceAct[i])
                new XAttribute("gainDB", SourceGain[i]);

new XElement("Audio",
            new XAttribute("id", IDSorted[i]),
            new XAttribute("file", PathList[i])
        )

doc.Save(@"XMLFiles/" + Description + ".xml");

打印内容:

<Source1 id="src:BlueSphere" gainDB="3.4" active="True" />
<AudioStream id="signal:violine" file="Assets/Audio/myaudio.wav" />`

我需要什么:

<Source1 id="src:BlueSphere" 
         gainDB="3.4" 
         active="True"/>
<AudioStream id="signal:violine" 
         file="Assets/Audio/myaudio.wav" />`

正如我之前提到的,代码已简化,并且在现实生活中,我在属性中包含很多值,因此很快就将其阻塞。

1 个答案:

答案 0 :(得分:0)

尝试在属性中使用&#10;&#13;而不是#&10#&13