更新したい xml ドキュメントを取得しました。再帰関数を使用してノードをループしています。ただし、ノード属性の更新に問題があります。すべてのパスをユーザーから隠し、それらをキーに置き換えたい。これは私がこれまでに得たものです
XML ドキュメントの例:
<html>
<head>
<title>my document</title>
<link rel="stylesheet" href="/styles/style.css"/>
</head>
<body>
<a href="link1"></a>
<img src="link2"/>
<img src="link3"/>
<img src="link1"/>
<a href="link5"></a>
</body>
</html>
これは再帰関数を介して渡され、updateNode 関数を呼び出して更新します
def processNode(n: Node){
if(n.label == "a") {
updateNode(n, "href")
}
}
n.child foreach processNode
}
def updateNode(n: Node, att: String) {
val k: Int = getKey(n.attribute(att).get.toString)
if (k == c){ // if k == c then key does not exists
list += (c -> n.attribute(att).get.toString())
// update node
c = c + 1
} else {
// update node
}}
.attributes.remove と .attributes.append をテストしましたが、機能していないようです。.copy を使用する必要があるかもしれないと仮定していますが、ノード データ型には .copy. がありません。Elem にはあります