Я пытаюсь отфильтровать XML-файл в приложении .NET, которое я разрабатываю. Некоторые образцы XML ниже, очевидно, не правильный XML, но достаточно близко :-)Фильтр xml в .Net с параметром
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Row A1="1" A2="AMS">
<Name>Ashley</Name>
<Team>Team B</Team>
<Date>3/25/2012</Date>
<Value>511681.15</Value>
</Row>
<Row A1="2" A2="AMS">
<Name>Kylie</Name>
<Team>Team A</Team>
<Date>9/28/2010</Date>
<Value>408438.47</Value>
</Row>
<Row A1="3" A2="AMS">
<Name>Gianna</Name>
<Team>Team B</Team>
<Date>40004</Date>
<Value>109709.22</Value>
</Row>
<Row A1="4" A2="AMS">
<Name>Chase</Name>
<Team>Team F</Team>
<Date>40152</Date>
<Value>279018.79</Value>
</Row>
Стилевые имеет параметры, устанавливаемые XsltArgumentList в приложении. Параметр передается в таблицу стилей, но не фильтрует xml. Я пробовал использовать набор узлов ms и набор узлов exsl, но возвращал только верхушку верхнего уровня. Stylesheet ниже:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="xml" indent="yes" encoding="UTF-8" />
<xsl:decimal-format name="NN" NaN="0" />
<xsl:param name="Filter" />
<xsl:template match="/">
<Root>
<xsl:for-each select="exsl:node-set($Filter)">
<Row>
<xsl:attribute name="A1">
<xsl:value-of select="@A1" />
</xsl:attribute>
<xsl:attribute name="A2">
<xsl:value-of select="@A2" />
</xsl:attribute>
<Team>
<xsl:value-of select="Team"/>
</Team>
</Row>
</xsl:for-each>
</Root>
</xsl:template>
Фильтр я пытаюсь передать может использовать любой из комбинации элементов XML. Фильтр я в настоящее время пытается ниже
<xsl:param name="Filter" select="//Row[Team='Team A']" />
Но это просто возвращает
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Row A1="" A2="">
<Team></Team>
</Row>
</Root>
Любая помощь или указатели будут оценены!
Благодаря
Спасибо, но это не сработало. Теперь я переработал метод фильтрации данных с помощью объекта Navigator и прокручивал узлы. – GrahamCFNewc
В предложении select было два небольших ошибки. –