public bool addall(string FileName,string [][] Value)
{
string [][] arr = new string[3][];
arr[0]=new string [2]; 
arr[1]=new string [2];
arr[2]=new string [2];
try
{
System.Xml.XmlDocument xmldoc=new System.Xml.XmlDocument();
xmldoc.Load(FileName);
foreach(string[] tmp in arr)
{
foreach(string name in tmp)
{
System.Xml.XmlElement xe1=xmldoc.CreateElement(name);
}
}
}
catch
{
} return true;
}

解决方案 »

  1.   

    想把数组设计成{{book5,delphi,pp},{book6,c++,qq}}每个元素第一个值是节点名,后2个是改节点的值
      

  2.   

    private void button1_Click(object sender, System.EventArgs e)
    {  
       string[][] s=new string[][] {
                                    new string[3]{"book3","vb","bear"},
          new string[3]{"book4","c#","rui"}
                                    };
       addall(@"e:\123.xml",s);
    }public bool addall(string FileName,string [][] Value)
    {

    XmlDocument doc=new XmlDocument();
    doc.Load(FileName);

    for(int i=0;i<Value.Length;i++)
    {
                    XmlElement ele=doc.CreateElement(Value[i][0]);

    XmlElement eleChild1=doc.CreateElement("Title");
    eleChild1.InnerText=Value[i][1]; XmlElement eleChild2=doc.CreateElement("Author");
    eleChild2.InnerText=Value[i][2]; ele.AppendChild(eleChild1);
    ele.AppendChild(eleChild2); doc.DocumentElement.AppendChild(ele);
    }

    doc.Save(FileName); return true;
    }--------------------------
    执行前XML文件:
    <?xml version="1.0"?>
    <library>
      <book1>
        <Title>VB</Title>
        <Author>Eric</Author>
      </book1>
      <book2>
        <Title>java</Title>
        <Author>Andy</Author>
      </book2>
    </library>执行后的XML:
    <?xml version="1.0"?>
    <library>
      <book1>
        <Title>VB</Title>
        <s>abc</s>
        <Author>Eric</Author>
      </book1>
      <book2>
        <Title>java</Title>
        <Author>Andy</Author>
      </book2>
      <book3>
        <Title>vb</Title>
        <Author>bear</Author>
      </book3>
      <book4>
        <Title>c#</Title>
        <Author>rui</Author>
      </book4>
    </library>
      

  3.   

    干吗要用string [][] ,用个结构或是类来做多简单,还好懂
      

  4.   

    二维数组好像是 string[,]而不是string[][]
    还是我搞错了?
      

  5.   

    BearRui(我有点笨,但我很特别,所以我特别笨!)的方法应该可以。
      

  6.   

    BearRui(我有点笨,但我很特别,所以我特别笨!) 强人啊~~~~~~
      

  7.   

    为什么我写成循环就不行了呢??public bool addall(string FileName,string [][] Value)
    {
      XmlDocument xmldoc=new XmlDocument();
    xmldoc.Load(FileName);
    try
    {
    for(int i=0;i<Value.Length;i++)
    {
    for (int j=0;j<Value[i].Length;j++)
                      {
               XmlElement xe1=xmldoc.CreateElement(Value[i][j]); XmlElement xesub1=xmldoc.CreateElement("Title");
    xesub1.InnerText=Value[i][j+1];
    xe1.AppendChild(xesub1);
     

    XmlElement xesub2=xmldoc.CreateElement("Author");
    xesub2.InnerText=Value[i][j+2];
    xe1.AppendChild(xesub2);
    xmldoc.DocumentElement.AppendChild(xe1);
    }
    }
    xmldoc.Save (FileName);
    return true;
    }
    catch 
    {
    return false;
    }
      

  8.   

    我把save语句放在循环里,调用时想加2个节点,但只加上了第一个节点以及值怎么回事呢
      

  9.   

    干嘛要把save语句放在循环里,save语句一般都是放在最后,等全操作完后才保存的!!!其实他这个例子最后就用一个循环。因为要创造的子节点的name属性是不同的!!!
      

  10.   

    我只是想如果BOOK下有十几个属性的话,一个个加会很长,所以才想再循环试试看
    -----------------------
    如果你的属性或子节点的名字全是一样的话,就可以这样。
    我的代码中有下面几句: XmlElement eleChild1=doc.CreateElement("Title");
    eleChild1.InnerText=Value[i][1]; XmlElement eleChild2=doc.CreateElement("Author");
    eleChild2.InnerText=Value[i][2];
    其中创造的子节点的名字是不一样的,分别是Title和author,你想想,节点名不一样,你写到循环里面有用吗???