使用Visual Studio 2010,C#.Net4,我正在建立一个网站,我想通过XML将数据从托管服务器发送到客户端浏览器。
我的数据位于对象(类)中,例如:
using System.Xml.Serialization;
public class InitialDataForBrowser
{
public string myParentNode;
public string myChildNode;
public InitialDataForBrowser()
{
}
[XmlIgnore]
public string _myChildNode
{
set
{
myChildNode = value;
}
}
}
这将产生结果:
<myParentNode></myParentNode>
<myChildNode ></myChildNode >
如何在对象中声明子节点元素,从而生成:
<myParentNode>
<myChildNode ></myChildNode >
</myParentNode>
我使用以下命令将上述对象写入XML文件:
FileStream fs = new FileStream("XMLFile.xml", FileMode.Create);
XmlSerializer xs = new XmlSerializer(typeof(InitialDataForBrowser));
xs.Serialize(fs, data);
fs.Close();
答案 0 :(得分:1)
假设你的意思是dumdum说你可以实现你寻找我使用“有A”关系的东西:
public class InitialDataForBrowser
{
public ParentNode Parent { get; set; }
public string MyName { get; set; }
public InitialDataForBrowser()
{
Parent = new ParentNode();
MyName = "InitialDataForBrowser";
}
}
public class ParentNode
{
public ChildNode Child { get; set; }
public string MyName { get; set; }
public ParentNode()
{
Child = new ChildNode();
MyName = "Parent";
}
}
public class ChildNode
{
public string MyName { get; set; }
public ChildNode()
{
MyName = "Child";
}
}
如果您序列化InitialDataForBrowser
,您将获得所需的xml。请记住,您需要实际实例化值。你无法序列化你没有的东西。 (Null序列化有一些选项,但我认为这不是你想要的)。