2009-08-18 13 views
5

を使用してXMLを書くのに良い例:いただきました私はこの例を使用してXMLファイルを更新して行くだろうか、この例を使用してVB.net 2008

<foo> 
    <n1> 
     <s1></s1> 
     <s2></s2> 
     <s3></s3> 
    </n1> 
    <n1> 
     <s1></s1> 
     <s2></s2> 
     <s3></s3> 
    </n1> 
</foo> 

私は一日中、それから読み取るが、生活のためにすることはできます私のそれはその形式に戻すことはできません。

+0

はStackOverflowの上で属している...あなたで動作するように何かを与えることがあります。 – Albic

答えて

5

LINQ-to-XMLを使用すると、VS2008で行うことができます。ここではいくつかの重要なリンクです:ここでは

はVB.NETのコードセグメントである:

Dim contacts = _ 
    <Contacts> 
     <Contact> 
      <Name>Patrick Hines</Name> 
      <Phone Type="Home">206-555-0144</Phone> 
      <Phone Type="Work">425-555-0145</Phone> 
      <Address> 
       <Street1>123 Main St</Street1> 
       <City>Mercer Island</City> 
       <State>WA</State> 
       <Postal>68042</Postal> 
      </Address> 
     </Contact> 
    </Contacts> 

LINQツーXMLは本当にありますそれはLINQ-to-Xを行うXMLリテラルとして扱うので、VB.NETでは単純ですMLコールの舞台裏。上記の '連絡先'変数は、writeメソッドを使用して直接ファイルに書き込むことができます。

+0

+1は単純な例を含む。 –

0

VS2008タグで質問にタグ付けしたので、VBまたはC#を意味すると思います。

あなたがXMLにLINQを試すことができます。 here
または単純常にXmlDocument: here

幸運

0

あなたのようなものを使用可能性があるためにあなたはまた、XMLシリアル化になります:

public class foo 
{ 
    void bar() 
    { 
     System.IO.FileInfo fi = new System.IO.FileInfo("C:\foo.xml") 
     System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(n1)); 
     xs.Serialize(fi.OpenWrite(),new n1()); 
    } 
} 

public class n1 
{ 
    [System.Xml.Serialization.XmlElement()] public string s1 { get; set; } 
    [System.Xml.Serialization.XmlElement()] public string s2 { get; set; } 
    [System.Xml.Serialization.XmlElement()] public string s3 { get; set; } 
} 
10

直進アプローチ:

' to create the XmlDocument... ' 
Dim xmlDoc As New Xml.XmlDocument 

Dim fooElement As Xml.XmlElement = xmlDoc.CreateElement("foo") 
xmlDoc.AppendChild(fooElement) 

Dim n1Element As Xml.XmlElement = xmlDoc.CreateElement("n1") 
For Each n1ChildName As String In New String() {"s1", "s2", "s3"} 
    Dim childElement As Xml.XmlElement = xmlDoc.CreateElement(n1ChildName) 
    n1Element.AppendChild(childElement) 
Next 

fooElement.AppendChild(n1Element) 
fooElement.AppendChild(n1Element.CloneNode(deep:=True)) 

' to update the XmlDocument (simple example)... ' 
Dim s1Element As Xml.XmlElement = xmlDoc.SelectSingleNode("foo/n1/s1") 
If Not s1Element Is Nothing Then s1Element.InnerText = "some value" 
+0

簡単な答えをありがとう。これは私が使ったものです。 – sparkkkey

0

これは

Sub Main() 

     Dim oXML As Xml.XmlDocument 
     Dim oNodes As Xml.XmlNode 
     Dim oNode As Xml.XmlNode 
     Dim sFilename As String = "D:\Junk\foo.xml" 

     oXML = New Xml.XmlDocument 
     oXML.Load(sFilename) 

     oNodes = oXML.DocumentElement 

     oNode = oNodes.ChildNodes(0) 
     oNode.Item("s1").InnerText = "Pink Floyd" 
     oNode.Item("s2").InnerText = "Dark Side of the Moon" 
     oNode.Item("s3").InnerText = "1973" 

     oNode = oNodes.ChildNodes(1) 
     oNode.Item("s1").InnerText = "Deep Purple" 
     oNode.Item("s2").InnerText = "Stormbringer" 
     oNode.Item("s3").InnerText = "1974" 

     oXML.Save(sFilename) 

    End Sub 
関連する問題