请问一个反序列化问题
代码片段:
public class MyClass
{
public Hello[] ABC;
}
生成的XML片段
<s:element minOccurs= "0 " maxOccurs= "unbounded " name= "Hello " nillable= "true " type= "tns:Hello "/>
请问怎么可以设置maxOccurs这个值?例如2。
------解决方案--------------------http://www.cnblogs.com/jsjkandy/archive/2007/07/26/832257.html
http://www.zlku.cn/f/97v/
------解决方案--------------------该片段可以装载到XmlDocument,然后通过XmlElement.SetAttribute 方法方法来实现。
XmlElement.SetAttribute 方法有重载,分别对应带命名空间前缀或没有前缀的情况。
如果生成的XML片段 是在外部文件中,那我想外部文件应该是xml文件,也可以装载到XmlDocument。
以下实例供参考:
namespace Zhzuo
{
class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
string strXml="<?xml version=\"1.0\"?>"
+"<Data>"
+"<Head>"
+"<Nodeid>1111</Nodeid>"
+"<Subid>2222</Subid>"
+"<Version>2004</Version>"
+"<Date>20040302</Date>"
+"<Time>101500</Time>"
+"</Head>"
+"<Body>"
+"<Code>01</Code>"
+"<Name>深圳</Name>"
+"<IdType>0</IdType>"
+"<Idno>110258740824082</Idno>"
+"</Body>"
+"</Data>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXml);
string vv;
XmlNodeList myNodes = doc.GetElementsByTagName("Version");
vv = myNodes[0].InnerText;
//修改
myNodes[0].InnerText = "123455";
Console.WriteLine(vv);
myNodes = doc.SelectNodes("//Version");
vv = myNodes[0].InnerText;
Console.WriteLine(vv);
//修改
myNodes[0].InnerText = "67890";
doc.Save("d:\\text.xml");
Console.ReadLine();
}
}
}