1

XmlSerializerを使用して、オブジェクトのリストが含まれているクラスをシリアル化します。現在、子タグ名はクラス名から名前を取得していますが、必要なのは、からの名前を取得することです。子クラス内のパブリックフィールド。助けてください。それを機能させるためにどのxml属性を使用する必要がありますか。

私はこのコードを持っています:

SessionAnalyser sa = new SessionAnalyser();
Circle c = new Circle();
c.Name = "AP";// I want this property as the TAG Name

私が取得しているXMLO/ P:

<SessionAnalyser>
<Circle>
<Name>AP</Name>
...
</Circle>
</SessionAnalyser> 

必要なXMLO/ P:

<SessionAnalyser>
<AP>
...
</AP>
</SessionAnalyser> 
4

2 に答える 2

1

XmlSerializerはそれをサポートしていません。少なくとも、事前.NameにAPにマップされていることを認識できないため、逆シリアル化する方法がないためです。<AP>

これを行うには、XmlSerializerを実装する必要がありますがIXmlSerializable、これは多くの作業です。ただし、その時点では、DOMのようなもの(XElementたとえば)を使用する方がはるかに簡単だと思います。

TL; DR; バージョン

役に立たないXmlSerializerシナリオには使用しないでくださいXmlSerializer

于 2012-05-15T07:15:47.637 に答える
0

IXmlSerializableを実装することで自分で作ることができるAFAIK

于 2012-05-15T07:16:10.993 に答える