2015-08-26 2 views
-1

На самом деле у меня есть xml-файл с дочерним узлом, и он работает нормально. Я хочу, чтобы вставить новый дочерний узел, как, имя Xml: product.xmlКак вставить узел xml в vb.net

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Table> 
    <product> 
    <name>1</name> 
    <name1>2</name1> 
    <name2>3</name2> 
    <name3>4</name3> 
    <name4>5</name4> 
    </product> 
    <!-- I want to insert <product> node with its parameter here --> 
</Table>  

Я попытался ниже код и получил пустая ссылка исключение, пожалуйста, обратитесь ниже и наставит меня,

Dim xmlDoc As XmlDocument = New XmlDocument()  
xmlDoc.Load("product.xml") 

DimcourseName = "1" 

With xmlDoc.SelectSingleNode("/Table/product[pid = '" & courseName & "']/Table").CreateNavigator().AppendChild() 
    .WriteStartElement("product") 
    .Close() 
End With 
+0

ли вы показать свою реальную структуру XML? Ваш запрос XPath предполагает, что вы этого не сделали. – GSerg

ответ

0

Это как вы добавляете узел XML в VB:

Dim x = XDocument.Load("product.xml") 

x.<Table>.First().Add(<product/>) 

Вместо .First(), который выбирает первый <Table> он находит вы можете предоставить запрос, который выбирает более подходящую таблицу, например,

Dim table = (From t In x.<Table> Where [email protected] = "1").First() 
table.Add(<product/>) 

Или в функциональном синтаксисе:

x.<Table>.Where(Function(n) [email protected] = "1").First().Add(<product/>) 
+0

не в состоянии использовать ур над кодом, вы можете, пожалуйста, подробно узнать – shivcena

+0

Вышеприведенный полный код. Не следует объяснять, кроме [синтаксиса] (https://msdn.microsoft.com/en-us/library/bb384629.aspx). – GSerg

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