<?xml version="1.0" encoding="utf-8" ?>
<system>
<kukei>0</kukei>
<points>
<point_x>125</point_x>
<point_y>64</point_y>
</points>
<points>
<point_x>113</point_x>
<point_y>98</point_y>
</points>
</system>这种格式的xml怎么才能生成,points的个数是不定的。我本来用XmlSerializer这个类,可是生成的xml总是多一层<points>而且points的个数不定,怎么写结构体谁有办法解决阿

解决方案 »

  1.   

    循环AppendNode呀,或者直接拼接字符串,
      

  2.   

    public class system
    {
       kukei属性
       Points[] 属性
    }public class Points
    {
    包括point_x和point_y属性
    }
      

  3.   

    这是用到的构造体,谁能告诉我怎么改    
    public class tripXML
        {
            private string m_kukei;
            public string kukei
            {
                get { return m_kukei; }
                set { m_kukei = value; }
            }        private string m_hoko;
            public string hoko
            {
                get { return m_hoko; }
                set { m_hoko = value; }
            }        private string[] m_point;
            public string[] points
            {
                get { return m_point; }
                set { m_point = value; }
            }
        }
      

  4.   

    谢谢楼上的,是不是XmlSerializer类不能实现生成这种复杂结构的xml有谁研究过的,告诉一下<kukei>0 </kukei> 
    <points> 
    <point_x>125 </point_x> 
    <point_y>64 </point_y> 
    </points> 
    <points> 
    <point_x>113 </point_x> 
    <point_y>98 </point_y> 
    </points>
      

  5.   

    只用过delphi。c#的没有研究过
    (Pascal代码)var
      NewStock: IXMLNode;
      ValueNode: IXMLNode;
      point_x,point_y:string;begin
    ...
    //得到point_x,point_y的值
    begin
      NewStock := XMLDocument1.DocumentElement.AddChild('points');
      ValueNode := NewStock.AddChild('point_x');
      ValueNode.Text := point_x
      ValueNode := NewStock.AddChild('point_y');
      ValueNode.Text :=point_xend;