0

我有如下描述的 xml 文件

<Root name="myRoot">
    <Field name = "myField">"blabla</Field>
    <List name="data">
        <Row name="data">
            <Field name="Field1">sample</Field>
            <Field name="Field2">sample</Field>
        </Row>     
    </List>
</Root>

我想将此 xml 文件映射到此类:

public class Row
{
    public string Field1
    {
        get;set;
    }

    public string Field2
    {
        get;set;
    }
}

我的问题是如何将属性名称映射到“行”类的属性?顺便说一句,我能够基于标签(字段)映射到“行”类的属性。我的观点是如何使用字段标签上的属性名称值的额外条件进行映射?

对不起我的英语不好。

提前致谢。

4

1 回答 1

1

没有内置的 xml 序列化程序(尤其是 noXmlSerializerDataContractSerializer)允许您使用属性的映射到成员。属性的名称——当然(例如<cust id="12345" name="Fred"/>)——但不是你的<Field name="Field2">...</Field>.

因此,您将不得不使用类似XmlDocument,XDocumentXmlReader. 或者,也许通过 xslt 运行它以将其变成XmlSerializer 可以处理的东西,即您可以构造(通过 xslt):

<myRoot>
    <myField>"blabla</myField>
    <data>
        <data>
            <Field1>sample</Field1>
            <Field2>sample</Field2>
        </data>
    </data>
</myRoot>

(这将<xsl:element name="@name">特别涉及使用)

于 2013-05-22T07:21:22.243 回答