Vb и XML

Core12

Есть некий файл скажем Fail.xml Так вот нужно сделать следующее Для всех узлов содержащих атрибут kindid и пустое значение должны содержать прочерк (-)Только как это сделать ума не приложу. Сделал загрузку файла полностью , а как сделать этот кусок не знаю. ( Возможно при нажатии на кнопку , что бы он выбрал)
11 ответов

Core12

ничего не понятно, пример xml хоть выложите.
...
<xsl:if test="//yourelement/@kindid"> <xsl:value-of select="//yourelement/@kindid"/>
</xsl:if>


Core12

ничего не понятно, пример xml хоть выложите. <pre class="prettyprint linenums">... <xsl:if test="//yourelement/@kindid"> <xsl:value-of select="//yourelement/@kindid"/> </xsl:if></pre>
А попродробней можно , вы xslt файл написать предлагает или как ? Кусок xml можно
<RltContractBase>	<headdocument>	<Address>	<AdrCity kindid="34" refid="1" skip="1">Москва</AdrCity>	<AdrDistrict kindid="3396" refid="5" skip="1">САО</AdrDistrict>	<AdrCityZone kindid="3862" refid="174893" skip="1">Улица</AdrCityZone>	<AdrStreet kindid="36" refid="1660" skip="1">Дом.</AdrStreet>	<AdrHouse kindid="37" refid="60788" skip="1">Номер дома</AdrHouse>	<AdrBuilding kindid="38" refid="" skip="1"/>	<AdrStructure kindid="3397" refid="" skip="1"/>	<AdrHouseSimple/>	</Address>
</RltContractBase>


Core12

вам эти что-ли обработать надо?так проверяйте у данного узла наличие атрибута kindid, см код выше


Core12

<!--по каждому ноду в адресе /RltContractBase/headdocument/Address/*/-->
<xsl:if test="not(@kindid)">
пусто
</xsl:if>


Core12

Получается что то вроде этого
<xsl:template match="Adress"> <xsl:if test="not(@kindid)">-</xsl:if>
</xsl:template>
Или это так для каждого поля надо сделать то есть
<xsl:template match="Adress"> <xsl:if test="//Adress/AdrCity/not(@kindid)">-</xsl:if>
</xsl:template>


Core12

<xsl:template match="//Adress/*"> <xsl:if test="not(@kindid)">-</xsl:if>
</xsl:template>


Core12

И еще такой вопрос как создать узел дочерний для узла ?


Core12

вы через XMLDOM ?append у node


Core12

А средствами XSLT это сделать можно ? Потому что мне еще нужно склеить все атрибуты Adress склеенных через запятую


Core12

output сделайте xml и собирайте нужный вам файлик


Core12

я про этот параметр xsl
<xsl:output method="html"/>