C# XML 根级别上的数据无效,XMLDriver,Xpath

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Xml;

namespace 六月版.客户.网站.Models
{
    public static class XMLDriver
    {
        public static List<string> GetObjects(string nodeName, string filepath)
        {

            Stream st = new FileStream(filepath, FileMode.Open);

            XmlDocument doc = new XmlDocument();
            doc.Load(st);
            List<string> listString = new List<string>();
            try
            {
                XmlNodeList nodes = doc.SelectNodes("/root/" + nodeName + "/*");
                foreach (XmlNode item in nodes)
                {
                    listString.Add(item.Name);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                st.Close();
                doc = null;
            }
            return listString;
        }
    }
}

今天使用XML ,记得以前用过,现在完全没印象,第一个问题就是 ,根级别上的数据无效,话说我的XML格式没问题啊。总提示我这玩意。一顿百度,

先看XML结构,结构也没问题啊。。。



<?xml version="1.0" encoding="utf-8" ?>
<root>
  <装修类型>
    <新房 />
    <二手房 />
  </装修类型>

  <功能方式>
    <市政暖气 />
    <地热 />
    <电热膜 />
    <电热暖气 />
    <其他 />
  </功能方式>

  <朝向>
    <南北向 />
    <东西向 />
  </朝向>
</root>

一个小时后。。找到了解决办法。

 XmlDocument doc = new XmlDocument();
 doc.Load(st);//之前用的是LoadXML。坑死了。顺带研究了一下 Xpath,奉上代码。

C# XML 根级别上的数据无效,XMLDriver,Xpath

时间: 2024-08-29 11:57:58

C# XML 根级别上的数据无效,XMLDriver,Xpath的相关文章

C# LoadXml 报错:xml 根级别上的数据无效

坑啊,搜了下园子里,一样的XD不少,方法试了几个对我的代码也无效,折腾了一晚上才搞定. 去掉BOM头 writer = new XmlTextWriter(stream, new UnicodeEncoding(false,false)); 如果是UTF8 writer = new XmlTextWriter(stream, new UTF8Encoding(false));

xml提示“根级别上的数据无效”

xml提示“根级别上的数据无效” 1.读取xml文档的时候提示,后百度结果:使用Load()方法是读取文档,xmlLoad()是读取字符串. 2. <?xml version="1.0" encoding="gb2312"?> 当xml文档编码(encoding="gb2312")是gb2312时,xml文档应该是ANSI,不然会乱码. 3.正确的实例: string ff = "/File/XML/xml.xml"

根级别上的数据无效。 行 1,位置 1

public void Parse(string xml) { this.Items=new RssItemCollection(); XmlDocument xDoc=new XmlDocument(); try { //xDoc.LoadXml(xml); xDoc.LoadXml(xml.Trim()); } catch(Exception e) { throw new Exception("内容不符合标准",e); } } 加载XML时始终 根级别上的数据无效. 行1,位置1

WebService &ndash; 3.后台调用WebService,根级别上的数据无效

1.因为我的webservice返回的是json, 2.ajax传递跨域不安全, 3.contentType: "application/json; charset=utf-8", 这个是直接访问的webservice   所以还是采用后台调用, 如果引用微软的webService直接new对象,调用方法,就会报错根级别上的数据无效 困扰了我1天,最后的解决方法, 创建辅助类, public class WebServiceHelper { /// <summary> //

XML错误: 根级别上的数据无效 行1 位置1

一个好好的xml,改动了一点内容,就出了这样的问题. 格式没有错,却除了这样的问题,莫名其妙! 百度之! 一.trim()方法 错误原因:“不加Trim的字符中多了一个"."从而导致xml出错”?.根据这里的方法: http://www.cnblogs.com/huangtailang/p/3850522.html public void Parse(string xml) { this.Items=new RssItemCollection(); XmlDocument xDoc=n

无法显示xml,根级别上的数据无效,第1行,位置1

出现这样的提示一般是xml出了问题,网上有很多修改的方法,而我这里的xml是通过webservice返回来的,出现这样的提示肯定是服务出了问题,一种原因是更改了web服务后返回的xml被编码,在C#中使用UrlDecode可进行反编码解决此问题,需要添加system.web引用,然后 temp=HttpUtility.UrlDecode(temp,Encoding.UTF8); temp是返回的xml我这里是string格式,UTF8即是编码.解决!

vs上出现&quot;未能加载项目文件,根级别上的数据无效.Microsoft.WinFx.targets&quot;的解决方法

问题: 本人尝试百度.谷歌和发帖,均未能找到解决办法.最好误打误撞解决了: 1.删除C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets文件 2.将C:\Program Files (x86)\MSBuild\12.0\Bin\Microsoft.WinFx.targets文件复制到C:\Windows\Microsoft.NET\Framework\v4.0.30319中 此时会出现这样的错误: 直接把这个.

Asp.net 无法访问请求的页面,因为该页的相关配置数据无效。

原文 http://home.bdqn.cn/thread-13632-1-1.html HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 详细的错误信息就是:不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的allowOverrid

_00017 Flume的体系结构介绍以及Flume入门案例(往HDFS上传数据)

博文作者:妳那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:hadoop,数据分析与挖掘 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! qq交流群:214293307  (期待与你一起学习,共同进步) # 学习前言 想学习一下Flume,网上找了好多文章基本上都说的很简单,只有一半什么的,简直就是坑爹,饿顿时怒火就上来了,学个东西真不容易,然后自己耐心的把这些零零碎碎的东西整理整理,各种