我有一個html,我想使用html-agility-pack庫將它解析爲xml。這裏的xsl:XSL - 無法向根節點添加名稱空間
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<BusinessDetail>
<Name>
<xsl:value-of select="//span[@class='pp-place-title']/span" />
</Name>
<Address>
<xsl:value-of select="//span[@class='pp-headline-item pp-headline-address']/span"/>
</Address>
...
</BusinessDetail>
</xsl:template>
</xsl:stylesheet>
我只想添加一個命名空間到根節點。預期的輸出是:
<BusinessDetail xmlns:g="http://myurl.com">
<Name>
...
</Name>
..
</BusinessDetail>
因此改變我XLS到:
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<BusinessDetail xmlns:g="http://myurl.com">
<Name>
<xsl:value-of select="//span[@class='pp-place-title']/span" />
</Name>
<Address>
<xsl:value-of select="//span[@class='pp-headline-item pp-headline-address']/span"/>
</Address>
...
</BusinessDetail>
</xsl:template>
</xsl:stylesheet>
但該命名空間不會出現在輸出中。有什麼不對?
嗨 - 我不同意,您不必將名稱空間添加到xsl:stylesheet元素,它可以出現在文檔中的任何位置。但是,是的,你是對的,除非它被使用,它不會出現在輸出中! – ColinE 2011-05-19 07:58:35
@ColinE也許這是我的錯誤措辭,加強了一個例子,加強了具體的情況。至少我沒有參加我的初稿,包括命名空間別名:) – 2011-05-19 08:50:15