1

我正在附加到现有的 xml 文件:代码如下:我正在使用 C# .net 4.5 VS 2012 并创建 WPF 应用程序。

我怎么能附加这个说 30 次并且只将 D100 属性号更改为 2、3、4、5 等?其他数值相同!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Xml;

namespace AppendX
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("C:\\Temp.xml");

            XmlNamespaceManager namespaces = new XmlNamespaceManager(doc.NameTable);
            namespaces.AddNamespace("flp", "http://www.w3.org/2001/flp");



            XmlNode nextNode = doc.SelectSingleNode("/flp:Tab/flp:Designs", namespaces);

            XmlElement D100 = doc.CreateElement("flp", "D100", "http://www.w3.org/2001/flp");
            D100.SetAttribute("Number", "2");

            XmlElement Code = doc.CreateElement("flp", "Code", "http://www.w3.org/2001/flp");
            Code.InnerText = "B";
            D100.AppendChild(Code);

            XmlElement Documented = doc.CreateElement("flp", "Documented", "http://www.w3.org/2001/flp");
            Documented.InnerText = "false";
            D100.AppendChild(Documented);

            nextNode.AppendChild(D100);

            doc.Save("test1.xml");



        }
    }
}

这是我正在使用的示例 xml,对不起,我打算把它放上来!

<flp:Tab xmlns:flp="http://www.w3.org/2001/flp"   Title="Testing">
  <flp:Form Number="0" id="1005" />
  <flp:Rev Time="2013-01-21T15:08:00">
    <flp:Author Name="Brad" Aid="15" />
  </flp:Rev>
  <flp:Designs Id="D100">
    <flp:D100 Number="1">
      <flp:Code>A</flp:Code>
      <flp:Documented>true</flp:Documented>
    </flp:D100>
  </flp:Designs>
</flp:Tab>
4

1 回答 1

1

给定参数,创建一个单独的私有函数来处理文档元素的创建。前任:

private xmlelement dothework(string param1, string param2){

    'do all necessary work to set up the element in here and then return it

}

我会像这样分离工作,为每个工作部分创建不同的函数,以便最终您可以循环并将每个部分附加到文档中。

于 2013-02-11T19:07:59.643 回答