Я пишу пользовательскую веб-часть, которая расширяет DataFormWebPart.
public class MyCustomWebPart : DataFormWebPart{
// other methods
public override void DataBind()
{
XmlDataSource source =
new XmlDataSource() { Data = @"
<Person>
<name cap='true'>Bryan</name>
<occupation>student</occupation>
</Person>
"
};
DataSources.Add(source);
base.DataBind();
}
}
Единственная заметная вещь, которую я делаю, - это переопределение метода DataBind (), где я использую xml в качестве источника данных.
После развертывания веб-части я установил для нее следующий XSL:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xmp>
<xsl:copy-of select="*"/>
</xmp>
</xsl:template>
</xsl:stylesheet>
Этот xsl окружит входной xml тегом. Поэтому я ожидал, что веб-часть отобразит исходные данные XML, как я написал в коде на C #. Но то, что отображается в веб-части, это:
<Person>
<name cap="true" />
<occupation />
</Person>
Все значения внутри самых внутренних тегов исчезают.
Что происходит? Кто-нибудь может мне помочь?
Спасибо.