Xml讀取

 

//1..xml文件讀入到string當中:

        StreamReader sR = new StreamReader(Server.MapPath("XMLProcess.xml"),Encoding.UTF8);

        string xXml = sR.ReadToEnd();

        //2.datasetxml.xsd之間的轉換:

        DataSet dsXml = new DataSet();

        dsXml.ReadXml(Server.MapPath("XMLProcess.xml"));//讀取.xmldataset

        dsXml.WriteXml(Server.MapPath("XMLProcess.xml"));//dataset中的內容寫入.xml文件中

        dsXml.ReadXmlSchema(Server.MapPath("XMLProcessSchema.xsd"));//讀取.xsd文件的表結構寫入dataset

        dsXml.WriteXmlSchema(Server.MapPath("XMLProcessSchema.xsd"));//dataset表的結構寫入.xsd文件

        XmlDocument doc = new XmlDocument();

        //doc.Load(Server.MapPath("XMLProcess.xml"));//讀取的第一種方式:通過文件路徑

        //讀取的第二種方式:通過讀取string

        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +"<title>Pride And Prejudice</title>" +"</book>");

        XmlElement root = doc.DocumentElement;//獲取根結點元素

        XmlAttributeCollection attributes = root.Attributes;//attribute即屬性:就是<book標籤下的genreISBN

        // 改變<book的第二個屬性值

        root.Attributes[1].Value = "fiction";

        string strAttribute = attributes["ISBN"].Value;//獲取屬性名為"ISBN"的值

        XmlDocument xdoc = new XmlDocument();

        //xdoc.Load(Server.MapPath("XMLProcess.xml"));

        xdoc.LoadXml(xXml);

        XmlNamespaceManager namespaceMgr = new XmlNamespaceManager(xdoc.NameTable);

        //添加兩個xml命名空間,添加形式如下:<node xmlns="http://yu/liangjin" name="liangjin" title="測試">

        namespaceMgr.AddNamespace("wf", "http://yu/liangjin");//wf,yu都是自定議的命名前綴,可以隨便定

        namespaceMgr.AddNamespace("yu", "http://yuliangjin/yu");

        XmlElement element = xdoc.DocumentElement;

  XmlNode tmp = element.SelectSingleNode("wf:start", namespaceMgr);//選取符合XPath 運算式的第一個XmlNode

        string ss = tmp.InnerText;//獲取該節點下的text的值

        string ww = tmp.InnerXml;//獲取該節點下的xml的值

        //遍歷該節點的所有屬性,取出屬性名為name的值

        XmlElement startElement = (XmlElement)tmp;

        foreach (XmlAttribute attribut in startElement.Attributes)

        {

            if (attribut.Name == "name")

            {

                myTest = attribut.InnerXml.Trim();

            }

        }

        //取出所有名為node的節點

        XmlNodeList tmpList = element.SelectNodes("wf:node", namespaceMgr);

        int i = 1;

        //遍歷所有的node節點,取出node節點屬性名為name的值

        foreach (XmlNode singNode in tmpList)

        {

            startElement = (XmlElement)singNode;

            if (singNode.Attributes["name"].Value == "")

            {

                Response.Write("為空哦!<br/>" + i.ToString());

            }

            else

            {

                Response.Write("值為:" + singNode.Attributes["name"].InnerText + i.ToString() + "<br/>");

            }

            i++;

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值