• 根据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;

    }
    }
    }
  • 相关阅读:
    Windows 8.1 应用再出发
    Windows 8.1 应用再出发
    python 列表,字典,元组,字符串,常用函数
    python 排序 sort和sorted
    python中的zip、map、reduce 、lambda、filter函数的使用
    SecureCRT的安装与破解(过程很详细!!!)
    L1和L2正则
    神经网络,机器学习公开课
    待整理
    tensorflow中文教程
  • 原文地址:https://www.cnblogs.com/limei/p/1751648.html
Copyright © 2020-2023  润新知