zoukankan      html  css  js  c++  java
  • 根据XPath找到某一个特定的节点 Anny

    工作中需要解析到XML文件,发现XPath很神奇。如果能灵活设置XPath,找到某个特定的节点就可以轻而易举了。

    下面的链接大家可以参考一下,主要就是介绍XPath的。

    来自MSDN的介绍:http://msdn.microsoft.com/en-us/library/ms256086.aspx

    便于大家理解,还可以看看下边的两个链接:

    http://www.zvon.org/xxl/XPathTutorial/Output/examples.html

    http://www.w3schools.com/xpath/xpath_syntax.asp

    下面的代码是以后需要继续维护的XmlHelper类,先放到这里。

    代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;

    namespace XmlHelper
    {
    class XmlHelper
    {
    public static void CreateXML(string xml,string fileName)
    {
    XmlDocument xmlDoc
    = new XmlDocument();
    xmlDoc.LoadXml(xml);
    xmlDoc.Save(fileName);
    }

    public static void CreateXML(string fileName, string node, string version, string encoding, string standalone)
    {
    XmlDocument xmlDoc
    = new XmlDocument();
    XmlDeclaration xmlDeclaration
    = xmlDoc.CreateXmlDeclaration(version, encoding, standalone);
    xmlDoc.AppendChild(xmlDeclaration);

    XmlNode root
    = xmlDoc.CreateElement(node);
    xmlDoc.AppendChild(root);

    xmlDoc.Save(fileName);
    }

    public static void CreateXML(string fileName,XmlNode node,string version, string encoding, string standalone )
    {
    XmlDocument xmlDoc
    = new XmlDocument();
    XmlDeclaration xmlDeclaration
    = xmlDoc.CreateXmlDeclaration(version, encoding, standalone);
    xmlDoc.AppendChild(xmlDeclaration);
    xmlDoc.AppendChild(node);
    xmlDoc.Save(fileName);
    }

    /// <summary>
    /// Find xml by xpath according to subelement value
    /// </summary>
    /// <param name="xml"></param>
    /// <param name="xPath">/students/student/name["may"]</param>
    /// <returns></returns>
    public static string FindNodeXmlByXPathWithSubElementValue(string fileName, string xPath)
    {
    string outerXml = string.Empty;
    XmlDocument xmlDoc
    = new XmlDocument();
    xmlDoc.Load(fileName);
    XmlNode node
    = xmlDoc.SelectSingleNode(xPath);
    outerXml
    = node.OuterXml;
    return outerXml;
    }

    /// <summary>
    /// Find specified node by xpath according to subelement value
    /// </summary>
    /// <param name="xml"></param>
    /// <param name="xPath">/students/student/name["may"]</param>
    /// <returns></returns>
    public static XmlNode FindNodeByXPathWithSubElementValue(string fileName, string xPath)
    {
    XmlDocument xmlDoc
    = new XmlDocument();
    xmlDoc.Load(fileName);
    XmlNode node
    = xmlDoc.SelectSingleNode(xPath);
    return node;

    }
    }
    }
  • 相关阅读:
    POJ2142:The Balance——题解
    POJ1061:青蛙的约会——题解
    接口测试结束后的小结
    接口测试结束后的小结
    如何进行需求测试/需求评审
    如何进行需求测试/需求评审
    测试人员掌握代码的重要性
    测试人员掌握代码的重要性
    测试人员掌握代码的重要性
    软件自动化测试开发-开班啦
  • 原文地址:https://www.cnblogs.com/limei/p/1751648.html
Copyright © 2011-2022 走看看