Я пытаюсь найти способ получить имя узла и отредактировать его, заменив значение varaible на значение.как захватить имя узла и заменить переменную значением
Пример:
<mbean code="abc.def.ghi" name="com.ijk.lmn:[email protected]@">
<attribute name="storename">value</attribute>
<depends optional-attribute-name="bookname">value2</depends>
<attribute name="Type">ebook</attribute>
<attribute name="Properties">
bookName=value3
booktype=value4
</mbean>
Ожидаемый результат:
<mbean code="abc.def.ghi" name="com.ijk.lmn:name=newvalue">
<attribute name="storename">value</attribute>
<depends optional-attribute-name="bookname">value2</depends>
<attribute name="Type">ebook</attribute>
<attribute name="Properties">
bookName=value3
booktype=value4
</mbean>
я испытал с этим Xsl кодом, но некоторые, как его не caprturing, что я хотел:
<xsl:template match="mbean[@name]">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:analyze-string select="." regex="([\w.]+)[email protected](.*?)@">
<xsl:matching-substring>
Value1: <xsl:value-of select="regex-group(1)"/>
Value2: <xsl:value-of select="regex-group(2)"/>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:copy>
</xsl:template>
I я ничего не меняю в элементах, но меняю имя узла.
Как я могу найти значение из внешнего XML-документа. – phani
@phani, я отредактировал ответ, чтобы показать некоторый поиск с помощью ключа. –
спасибо за дополнительные входные данные. – phani