Я использую Linq To XML для создания XML, который отправляется третьей стороне. Мне трудно понять, как создать XML с использованием Linq, когда часть информации, которую я хочу отправить в XML, будет динамической.
Динамическая часть XML хранится в виде массива string [,]. Этот многомерный массив содержит 2 значения.
Я могу «построить» динамический XML с помощью строителя строк и сохранить значения, которые были в массиве, в строковую переменную, но когда я пытаюсь включить эту переменную в Linq, переменная кодируется HTMLE, а не включается как правильный XML.
Как бы я добавил в свою динамически созданную строку XML-файл, создаваемый Linq?
Например:
//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);
«Тег» является необязательным дополнением, он может появляться в моем 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, если это возможно.
Спасибо за вашу помощь,
Рич