下面是xml文件的编码:
<?xml version="1.0" encoding="utf-8" ?>
<table>
<childTable>
<类型>a</类型>
<来源>1</来源>
<地址>http://1234.aspx</地址>
</childTable>
<childTable>
<类型>a</类型>
<来源>2</来源>
<地址>http://3456.aspx</地址>
</childTable>
<childTable>
<类型>b</类型>
<来源>1</来源>
<地址>http://sdfs.aspx</地址>
</childTable>
</table>
如果您对这三个列有类型的要求,还要添加一个schema文件,如果只是简单存储,那就免了。

解决方案 »

  1.   

    xml文件定义如下:
    <?xml version='1.0' encoding="gb2312"?>
    <test>
       <a>
        <address type="1">http://1234.aspx</address>
        <address type="2">http://asdf.aspx</address>
       </a>
       <b>
        <address type="1">http://1234.aspx</address>
        <address type="2">http://asdf.aspx</address>
       </b>
    </test>实现:
    string[] readXmlPath = {"/test/a/address", "/test/b/address"};
    XmlDocument startEnv = new XmlDocument();startEnv.Load(@"c:\test.xml");
    XmlNodeList nodeList;
    string sAddress = "";try
    {
    XmlElement root = startEnv.DocumentElement; for (int i = 0; i < readXmlPath.Length; i++)
    {
    nodeList = root.SelectNodes(readXmlPath[i]);
    foreach(XmlNode item in nodeList)
    {
    switch(readXmlPath[i])
    {
    case "/test/a/address":
    if (int.Parse(item.Attributes.GetNamedItem("type").Value) == 1)
    {
    sAddress = item.InnerText;
    }
    break;
    case "/test/b/address":
    ;
    break;
    }
    }
    }
    }
    catch{}其他的你自己再去发挥吧!
      

  2.   

    简单的schema文件(设以上的3列都为string类型,且没有主键):
    <?xml version="1.0"?>
    <xs:schema id="table" targetNamespace="http://tempuri.org/~vs3.xsd" xmlns:mstns="http://tempuri.org/~vs3.xsd" xmlns="http://tempuri.org/~vs3.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
      <xs:element name="table" msdata:IsDataSet="true" msdata:Locale="zh-CN" msdata:EnforceConstraints="False">
        <xs:complexType>
          <xs:choice maxOccurs="unbounded">
            <xs:element name="childTable">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="类型" type="xs:string" minOccurs="0" />
                  <xs:element name="来源" type="xs:string" minOccurs="0" />
                  <xs:element name="地址" type="xs:string" minOccurs="0" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>在原来的xml文件的第2行还要添加:
    <table xmlns="http://tempuri.org/~vs3.xsd">
    这样就可以用schema文件来约束xml文件的数据了。
    以上皆在vs.net中完成,自己用写字板写也不难。
      

  3.   

    To eyestrong(有时爱情图有虚名)
    请问用你的这种方式如何在程序中实现读取,谢谢!