<?xml version="1.0" encoding="utf-8" ?>
<一级>1
  <二级>2
    <三级>3
      <四级>4
        <五级>5</五级>
      </四级>
    </三级>
  </二级>
</一级>我想使用XML来储存一个如上面的数据结构。一级取值1,二级取值2,依次类推,五级取值5。很显然我上面的结构有问题,请问实现这样的数据储存应该怎么做呢?

解决方案 »

  1.   

    use dtd  or  schema
      

  2.   


    <?xml version="1.0" encoding="utf-8" ?>
    <一级>
      <tl>1</tl>
      <二级>
        <tl>2</tl>
        <三级>
          <tl>3</tl>
          <四级>
            <tl>4</tl>
            <五级>
              <tl>5</tl> </五级>
          </四级>
        </三级>
      </二级>
    </一级>
           public void ReadXml()
            {
                string sPath = "TestXML.xml";
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(Server.MapPath(sPath));
                XmlNodeList elemList = xmldoc.GetElementsByTagName("一级");
                Response.Write(elemList[0]["tl"].InnerText); //这里取出了"一级"下的"tl"元素值
            }
    你那个没有节点元素的名称,太不规范了,XML这样改一下更方便
      

  3.   

    <?xml version="1.0" encoding="utf-8" ?>
    <一级 level="1"> 
      <二级 level="2">2</二级>
      <二级 level="2.1"> 
        <三级 level="3">3</三级>
        <三级 level="3.1">  
          <四级 level="4">4</四级>
          <四级 level="4.1">        
            <五级 level="5">5</五级>
            <五级 level="5.1">5.1</五级>
          </四级>
        </三级>
      </二级>
    </一级>(把这些一级二级的中文改掉 e.g.:"One  Two" and so on.)如果只需要快速读取,使用xmltextreader读取就好了,单向快速向前