0

次の XML があります。

<test>
    <something name="test">
        <todo>Something is here!</todo>
    </something>
    <mytag id="myID">!!!!</mytag>
    <todo>Hello, world</todo>
</test>

そして、取得するタグのコンテンツを置き換える必要がid="myID"あります。

<test>
    <something name="test">
        <todo>Something is here!</todo>
    </something>
    <mytag id="myID">**MY NEW STRING IS HERE**</mytag>
    <todo>Hello, world</todo>
</test>

それを達成するための標準的な方法はありますか?xmerl_xsが XML 変換の Erlang 方式であることは知っています。しかし、私の問題を解決するために使用することはできません。

そして、私は<mytag id="myID">**MY NEW STRING IS HERE**</mytag>Xmerlを使用することしかできませんでした。私のコード:

{ RootEl, _Rest } = xmerl_scan:string(Template),
[Match|_] = xmerl_xpath:string("//*[@id='myID']", RootEl),
% Pack new content to the container
Result = Match#xmlElement { content="**MY NEW STRING IS HERE**" }

非標準ライブラリ ( Sablotronなど) でのみ可能ですか?

4

2 に答える 2

1

私はそのライブラリを使用したことはありませんが、おそらく xmerl_lib:mapxml/2 が必要だと思います。

于 2012-09-04T07:40:45.647 に答える
1

erlsomライブラリを試しましたか?それは非常に柔軟な方法を提供できます。

于 2012-09-06T03:40:36.263 に答える