只是尝试读取xml片段并更改一些内容

时间:2017-04-17 16:07:47

标签: c# xml

我正在尝试读取这个xml片段并更改attr2的名称和值,并将其他所有内容保留原样。

如何在下面的else子句中按原样读写其他元素?此外,如果有更好的方法,我欢迎这些想法!

<icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" />

1 个答案:

答案 0 :(得分:0)

根据节点类型编写节点:

switch (reader.NodeType) {
      case XmlNodeType.Element:
          sw.Write(string.Format("<{0}>", reader.Name));
          break;
      case XmlNodeType.Text:
          sw.Write(reader.Value);
          break;
       case XmlNodeType.CDATA:
           sw.Write(string.Format("<![CDATA[{0}]]>", reader.Value));
           break;
       case XmlNodeType.ProcessingInstruction:
           sw.Write(string.Format("<?{0} {1}?>", reader.Name, reader.Value));
           break;
       case XmlNodeType.Comment:
           sw.Write(string.Format("<!--{0}-->", reader.Value));
           break;
       case XmlNodeType.XmlDeclaration:
           sw.Write("<?xml version='1.0'?>");
           break;
       case XmlNodeType.Document:
           break;
       case XmlNodeType.DocumentType:
           sw.Write(string.Format("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value));
           break;
       case XmlNodeType.EntityReference:
           sw.Write(reader.Name);
           break;
       case XmlNodeType.EndElement:
           sw.Write(string.Format("</{0}>", reader.Name));
           break;
   } 

参考:MSDN - XmlReader.Read Method