当前位置:编程学习 > C#/ASP.NET >>

C#写XML文件出错

刚开始接触XML,遇到一个问题,采用C#往db.xml中写内容,下面将db.xml内容贴在下面:?<?xml version="1.0" encoding="utf-8" standalone="no"?>
<databases>
  <database name="local" connectionString="Provider=sqloledb;Data Source=192.168.0.26;User Id=sa;Password=;" type="sqlserver" />
  <database name="zl" connectionString="Provider=sqloledb;Data Source=192.168.0.66;User Id=sa;Password=5209;" type="sqlserver" />
</databases>
当 databases 中不加 xmlns="http://tempuri.org/db.xsd",时可以写入成功,加上后,添加内容时显示
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 64:         objElement.SetAttribute("type", type);
行 65: 
行 66:         root.AppendChild(objElement);
行 67:         xmlDoc.Save(Server.MapPath("../Config/db.xml"));
行 68:     }
 
db.xsd内容如下:
<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema id="db" 
    targetNamespace="http://tempuri.org/db.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/db.xsd"
    xmlns:mstns="http://tempuri.org/db.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="databases">
    <xs:complexType>
      <xs:sequence>
        
          <xs:element name="database" maxOccurs="unbounded">
            <xs:complexType>
              <xs:attribute name="name" type="xs:string"/>
              <xs:attribute name="connectionString" type="xs:string"/>
              <xs:attribute name="type" type="xs:string"/>
            </xs:complexType>
          </xs:element>
       
      </xs:sequence>

    </xs:complexType>
  </xs:element>
</xs:schema>

请各位大侠帮忙指导一下 --------------------编程问答-------------------- 这个url是对的,可读的吗?"http://tempuri.org/db.xsd" --------------------编程问答-------------------- 是可读的啊 --------------------编程问答-------------------- 你设个断点看看 objElement 是不是null?很可能是读取xmlNode的时候,找错了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,