2016-12-08 9 views
0

Я пытаюсь программно добавить элементы с помощью XML-писателя C#, и все работает отлично. Сейчас у меня это:Есть ли способ добавить несколько свойств в XMLWrite XML-документа XML ELement usng C#?

<module_name path="pathToModule"></module_name> 

Я пытаюсь достичь структуру следующим образом:

<module_name path="pathToModule" name="nameOfModule", executable="moduleExecutale"></module_name> 

Мой XMLWriter выглядит примерно так:

var xmlWriterSettings = new XmlWriterSettings() 
{ 
    Indent = true, 
    IndentChars = "\t", 
    NewLineOnAttributes = true 
}; 
using (XmlWriter writer = XmlWriter.Create(_pathToOutputXml, xmlWriterSettings)) 
{ 
    writer.WriteStartElement("module_name", "name", realModuleName); 

} 

Я также попытался

writer.WriteStartElement("module_name", "name", realModuleName); 
writer.WriteAttributeString("path", path, "executable", executable); 

и не компилируется е прошлое. В «файле» есть ошибка «Недопустимый символ имени». Символ ':', шестнадцатеричное значение, не может быть включен в имя. Я предполагаю, что это неправильный подход, но я не вижу другого варианта.

Какие свойства XMLWriter можно использовать для достижения этой цели?

+0

Почему Ограничить 'XMLWriter ', а не' XmlDocument' или 'XDocuemnt'? –

+0

Что вы хотите о той структуре, которую вы специально хотите? Список атрибутов? Пустая строка? Полный конечный элемент ''? Отвратительный ',' разделение атрибутов? Кроме того, данный код не производит ничего похожего на то, что вы говорите, что у вас есть, так что это добавляет путаницы. –

+0

@LeiYang Я не ограничен XMLWriter, это то, что я использовал для программного создания XML-документа. – jshaf

ответ

0

Я понял. Получается, что если я хочу, чтобы добавить атрибуты к определенному элементу я должен был бы сделать что-то вроде этого:

writer.WriteStartElement("module_name"); 
writer.WriteAttributeString("name", realModuleName); 
writer.WriteAttributeString("path", path); 
writer.WriteAttributeString("executable", executable); 

Это приведет к элементу, например так:

<module_name name="Captiva Administrator" path="" executable="test.exe"> 

 Смежные вопросы

  • Нет связанных вопросов^_^