我得到了一個我想更新的xml文檔,並使用遞歸函數遍歷節點。不過,我在更新節點屬性時遇到問題。 我想隱藏用戶的所有路徑並用一個鍵替換它們。這是我有這麼遠更新Scala 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確實
最好給一些示例xml文檔,讓其他人知道結構。 –