【发布时间】:2010-11-18 08:50:07
【问题描述】:
我正在使用 Linq To XML 创建发送给第三方的 XML。当我想在 XML 中发送的部分信息是动态的时,我很难理解如何使用 Linq 创建 XML。
XML 的动态部分保存为 string[,] 数组。这个多维数组包含 2 个值。
我可以使用字符串构建器“构建”动态 XML,并将数组中的值存储到字符串变量中,但是当我尝试将此变量包含到 Linq 中时,该变量是 HTMLEncoded 而不是作为正确的 XML 包含的。
我将如何将动态构建的字符串添加到由 Linq 构建的 XML 中?
例如:
//string below contains values passed into my class
string[,] AccessoriesSelected;
//I loop through the above array and build up my 'Tag' and store in string called AccessoriesXML
//simple linq to xml example with my AccessoriesXML value passed into it
XDocument RequestDoc = new XDocument(
new XElement("MainTag",
new XAttribute("Innervalue", "2")
),
AccessoriesXML);
'Tag' 是一个可选的附加项,它可能会多次出现在我的 XML 中,也可能不会出现 - 它取决于用户检查某些复选框。
现在当我运行我的代码时,我看到了这个:
<MainTag> blah blah </MainTag>
< ;Tag> ;< ;InnerTag> ; option1="valuefromarray0" option2="valuefromarray1" /> ;< ;Tag/> ;
我想返回这样的东西:
<MainTag> blah blah </MainTag>
<Tag><InnerTag option1="valuefromarray0" option2="valuefromarray1" /></Tag>
<Tag><InnerTag option1="valuefromarray0" option2="valuefromarray1" /></Tag>
有什么想法或建议吗?我可以使用 XmlDocument 来完成这项工作,但如果可能的话,我想使用 Linq 来完成这项工作。
感谢您的帮助, 丰富
【问题讨论】:
标签: c# xml linq linq-to-xml