1

更新したい 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 にはあります

4

1 に答える 1