我有一个extractProperty ["foo", "bar0"] (Object (fromList [("foo",Object (fromList [("bar1",String "foobar1"),("bar0",String "foobar0")]))]))
==> Just (String "foobar0")
extractProperty ["foo", "bar0", "baz"] (Object (fromList [("foo",Object (fromList [("bar1",String "foobar1"),("bar0",String "foobar0")]))]))
==> Nothing
创建的对象模型,它有这个成员:
XSD:
xsd.exe
生成C#(删节)
<xs:element maxOccurs="unbounded" name="Foo">
<xs:complexType>
<xs:attribute name="bar" type="xs:string" />
<xs:anyAttribute />
</xs:complexType>
</xs:element>
反序列化很好,当我加载这样的XML文件时,会填充此属性:
[XmlAnyAttribute]
public XmlAttribute[] AnyAttr { get... set... }
问题是,我如何序列化?我不能简单地设置<Foo bar="baz" one="one" two="three" four="ten" />
,然后创建每个fooInstance.AnyAttr = new XmlAttribute[]
对象进入XmlAttribute
集合,因为AnyAttr
构造函数是内部的,只能由XmlAttribute
创建。但是,在当前上下文中,没有XmlDocument.CreateAttribute
实例可用。
那么如何创建适合XmlDocument
使用的XmlAttribute
实例?
答案 0 :(得分:0)
事实证明,您可以使用FooElement foo = new FooElement();
foo.bar = "baz";
XmlDocument dummy = new XmlDocument();
foo.AnyAttr = new XmlAttribute[] {
dummy.CreateAttribute("one", "one"),
dummy.CreateAttribute("two", "three"),
dummy.CreateAttribute("four", "ten")
};
的虚拟实例来创建XML DOM组件,并且它可以正常工作:
$row = mysql_fetch_array($query) or die(mysql_error());