从XML导入用户定义

时间:2014-06-24 10:15:14

标签: c# xml

我一直在尝试制作导出/导入程序,但是当我尝试将XML信息导入文本框时,它不起作用。

来自程序的C#片段:

XmlDocument doc =  new XmlDocument();
doc.Load(open.FileName);
foreach (XmlNode x in doc.DocumentElement)
    textBox6.Text = x["Contact"].Value;

,XML文件如下:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <Table1>
    <Contact>example</Contact>
  </Table1>
</NewDataSet>

原始图片: http://i.stack.imgur.com/0ks2F.png

3 个答案:

答案 0 :(得分:1)

尝试使用InnerText代替value

textBox6.Text = x["Contact"].InnerText;

答案 1 :(得分:0)

行上的断点

textBox6.Text = x["Contact"].Value;

应该揭示......

那只是基于视觉检查 - 那些提供XML作为png文件的人不会让我检查它大声笑......

答案 2 :(得分:0)

您可以使用XmlSerializer来实现相同的操作。

结帐以下代码。

using System.Xml.Serialization;
using System.IO;

namespace DemoApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            NewDataSet objNewDataSet = new NewDataSet();
            Table objTable = new Table();
            objTable.Conact = "Hello";
            objNewDataSet.Table1 = objTable;

            StreamWriter objStream = new StreamWriter("C:\\Users\\Nirav Kamani\\Desktop\\abc.xml");

            XmlSerializer objXmlSerializer = new XmlSerializer(typeof(NewDataSet));
            objXmlSerializer.Serialize(objStream, objNewDataSet);
    }
}

}

模型类。

using System.Xml.Serialization;

namespace DemoApplication
{
    public class NewDataSet
    {
        [XmlElement]
        public Table Table1 { get; set; }
    }
}


namespace DemoApplication
{
    public class Table
    {
        public string Conact { get; set; }
    }
}

您可以轻松地序列化和反序列化。

有关更多信息,请查看以下链接。

我只是给你一个更好的方法来实现对象的相同操作。

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx