以编程方式评论xml元素

时间:2015-05-26 09:14:50

标签: c# xml xml-parsing

我有一个xml文件,如下所示,

<configuration>
    <property>
      <name>name</name>
      <value>dinesh</value>
    </property>
    <property>
      <name>city</name>
      <value>Delhi</value>
    </property>
</configuration>

我的要求是我需要在运行时根据属性的名称以编程方式注释/取消注释属性,如下所示;

<configuration>
    <!-- <property>
      <name>name</name>
      <value>dinesh</value>
    </property> -->
    <property>
      <name>city</name>
      <value>Delhi</value>
    </property>
</configuration>

通过XDocument / XmlDocument遍历有没有直接的方法来实现这个目的?我刚从this问题

中查看了下面的代码
XmlComment DirCom = doc.CreateComment(XmlElementName.OuterXml);
doc.InsertAfter(DirCom, XmlElementName);    
doc.RemoveChild(XmlElementName)

上述代码使用方法是否正确?

1 个答案:

答案 0 :(得分:1)

您可以使用SELECT EPC FROM track_record GROUP BY EPC ORDER BY DATEDIFF(MAX(datetime),MIN(datetime)) DESC LIMIT 1; +-----------------------------+ | EPC | +-----------------------------+ | 03.0000A89.00016F.000169DCD | +-----------------------------+

轻松完成
XDocument

哪个输出:

var xDocument = XDocument.Parse(@"<configuration>
                                    <property>
                                      <name>name</name>
                                      <value>dinesh</value>
                                    </property>
                                    <property>
                                      <name>city</name>
                                      <value>Delhi</value>
                                    </property>
                                </configuration>");

var firstPropertyElement = xDocument
    .Descendants("property")
    .First();//Find your element
var xComment = new XComment(firstPropertyElement.ToString());//Create comment
firstPropertyElement.ReplaceWith(xComment);//Replace the element with comment 
Console.WriteLine(xDocument);