我是一名XML新手,需要一些帮助才能重回正轨。
我有以下xsd代码,其中有两个xsd元素:
...
<xsd:element name="DataCollection">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Data" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Question" minOccurs="0" type="xsd:string" />
<xsd:element name="Input" minOccurs="0" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
...
此xsd架构已分配给XML类型的DB列 让我们说这个表叫做“A”(在我的C#代码中) 而XML类型的列称为“XML_B”。
实体框架用于数据库访问。
新手问题: 我认为我可以阅读这样:
string test = A.DataCollection.Data.FirstOrDefault(row => row.Input == "Hello world?").Question;
这会给我第一个(或默认的)DB条目/值“问题”字段 XML字段“Input”中包含“Hello world?”。
但是不幸地提出了读取尝试错误,例如“对象未设置为实例”,因为“...数据”等于null,这根本不解决它:
...
if (A.DataCollection.Data == null)
A.DataCollection.Data = new DataCollectionData[1];
...
我怎样才能为“问题”和“输入”写值?
A.DataCollection.Data.SetValue("Test value for field 'Question'", 0); // Index 0 = XML field "Question"
A.DataCollection.Data.SetValue("Test value for field 'Input'", 1); // Index 1 = XML field "Input"
任何帮助都会非常棒。
提前致谢!