我正在使用Linq To XML创建要发送给第三方的XML。 当我想要在XML中发送的信息的一部分是动态的时,我很难理解如何使用Linq创建XML。
XML的动态部分保存为string[,]数组。 这个多维数组包含2个值。
我可以使用stringbuilder“构建”动态XML,并将数组中的值存储到字符串变量中,但是当我尝试将此变量包含到Linq中时,该变量被HTML编码而不是作为正确的XML包含。
我该如何将我动态构建的字符串添加到由Linq构建的XML中?
例如:
//string below contains values passed into my class
字符串数组 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);
'标签'是一个可选项,它可能会在我的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来实现它。
感谢您的帮助, Rich
StringReader
?直接这样做有问题吗?XElement.Load(AccessoriesXML)
- B Faley