2012-08-04 28 views
3

我有一個XML文件如何讀取XML創建的resx文件

<? xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="Foo">Bar</string> 
    <string name="Foo1">Bar1</string> 

    // More string Tags here 

</resources> 

我試圖

XMLTextReader reader = new XmlTextReader("FooBar.xml"); 

ResXResourceWriter writer = new ResXResourceWriter("FooBar.resx"); 

while(reader.Read()) 
{ 
    if(reader.NodeType == XmlNodeType.Element && reader["name"] != null) 
     writer.AddResource("What_should_I_write_here", "What_should_I_write_here"); 
} 

如何閱讀本XML,這樣我可以創造一個RESX文件。

回答

4

我做到了,終於

XMLTextReader reader = new XmlTextReader("FooBar.xml"); 

ResXResourceWriter writer = new ResXResourceWriter("FooBar.resx"); 

while(reader.Read()) 
{ 
    if(reader.NodeType == XmlNodeType.Element && reader.Name == "string") 
     writer.AddResource(reader.GetAttribute("name"), reader.ReadString()); 
} 

writer.Generate(); 
writer.Close(); 
1

事情是這樣的:

 var xmlReader = new XmlTextReader("c:\\temporary\\cars.xml"); 

     while (xmlReader.Read()) 
     { 
      switch(xmlReader.NodeType) 
      { 
       case XmlNodeType.XmlDeclaration: 
       case XmlNodeType.Element: 
       case XmlNodeType.Comment: 
        sb.AppendFormat("{0}: {1}={2}", xmlReader.NodeType, xmlReader.Name, xmlReader.Value); 
        sb.AppendLine(); 
        break; 
       case XmlNodeType.Text: 
        sb.AppendFormat(" - Value: {0}", xmlReader.Value); 
        sb.AppendLine(); 
        break; 
      } 

      if(xmlReader.HasAttributes) 
      { 
       while(xmlReader.MoveToNextAttribute()) 
       { 
        sb.AppendFormat(" - Attribute: {0}={1}", xmlReader.Name, xmlReader.Value); 
        sb.AppendLine(); 
       } 
      } 
     }