我可以使用以下XML,我可以在C#中反序列化:
<?xml version="1.0" encoding="iso-8859-1" ?>
<ProductList>
<Product>
<MyDesc><![CDATA[DOCTOR WHO - PLANET OF THE DEA]]></MyDesc>
<ActualStock><![CDATA[5]]></ActualStock>
</Product>
</ProductList>
但是,如果我添加一个新节点,例如MetaData,我不知道如何将该节点及其所有子节点作为文本:
<?xml version="1.0" encoding="iso-8859-1" ?>
<ProductList>
<Product>
<MyDesc><![CDATA[DOCTOR WHO - PLANET OF THE DEA]]></MyDesc>
<ActualStock><![CDATA[5]]></ActualStock>
**<MetaData>
<Desc>MD-Description - This is my product desc</Desc>
<Image>MD - The main image</Image>
</MetaData>**
</Product>
</ProductList>
即我想抓取并将MetaData中的所有内容存储为一个字符串。麻烦是MetaData的孩子是未知的。
这可能吗?
我认为deserialiser会使用它来匹配MetaData节点:
[XmlElement("MetaData")]
public List<MetaData> MetaDataList
{
get
{
return metaDataList;
}
set
{
metaDataList = value;
}
}
然后使用以下方法找出MetaData的孩子:
private List<MetaData> metaDataList = new List<MetaData>();
public class MetaData
{
[XmlAnyElement]
public List<string> Children
{
get;
set;
}
}
你可以看到我完全陷入了......
指针将不胜感激。
感谢。
西