2015-12-01 5 views
0

У меня есть файл XML, как это:Добавление атрибутов с XElement

<?xml version="1.0" encoding="utf-8"?> 

<svg version="1.1"> 
<g ID="Prova1"/> 
<g ID="Prova2"/> 
</svg> 

Мне нужно добавить некоторые атрибуты в узлах Например:

<?xml version="1.0" encoding="utf-8"?> 

<svg version="1.1"> 
<g ID="Prova1" onclick="prova()" /> 
<g ID="Prova2" onclick="prova()" /> 
</svg> 

Если идентификатор является недействительным я надеваю» что-то делать. Я использую VB.NET и класс XElement

+2

Вы должны использовать 'XAttribute'. – sborfedor

ответ

1

Дайте этому попытку

Dim someXE As XElement = <svg version="1.1"> 
          <g ID="Prova1"/> 
          <g ID="Prova2"/> 
         </svg> 

For Each xe As XElement In someXE.Elements 
    [email protected] = "prova()" 
Next 
+0

Для 'XMl Literals' – Fabio

+0

@Fabio - не понимаю ваш комментарий. – dbasnett

+0

Мне понравилось, что вы использовали 'XML Literals' - специфическое свойство VB.NET – Fabio

0

Попробуйте

Imports System.Xml 
 
Imports System.Xml.Linq 
 
Module Module1 
 

 
    Sub Main() 
 
     Dim xml As String = "<?xml version=""1.0"" encoding=""utf-8""?>" & _ 
 
          "<svg version=""1.1"">" & _ 
 
          "<g ID=""Prova1""/>" & _ 
 
          "<g ID=""Prova2""/>" & _ 
 
          "</svg>" 
 
     Dim element As XElement = XElement.Parse(xml) 
 
     For Each g As XElement In element.Descendants("g") 
 
      g.Add(New XAttribute("onclick", "prova()")) 
 
     Next g 
 
    End Sub 
 

 
End Module 
 
​

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