Vb и XML

Core12

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

Core12

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


Core12

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