5
A
回答
0
我會做的是分析使用\\
XML中的XML轉換爲使用.toList.last.text
列表
追加我需要的東西,然後收集我的選項:jsonOption collect
在這裏,您可以使用orElse Some
再次更改一些選項,然後使用for yield
來產生我想要的xml。
利用規模在數據轉換中的靈活性。它不一定是相同的,但我相信你可以看到燈光...
6
您可以使用RewriteRule
來做到這一點,2.10.3 documentation。
val cats = <Cats>
<Cat Name="Floyd"/>
<Cat Name="Onyx"/>
</Cats>
然後假定RewriteRule
class AddCat(name: String) extends RewriteRule {
override def transform(n: Node): Seq[Node] = n match {
case e: Elem if e.label == "Cats" =>
val cats = (e \\ "Cat")
val newCat = <Cat Name={name}/>
new Elem(e.prefix, "Cats", e.attributes, e.scope, e.minimizeEmpty, (cats ++ newCat).toSeq:_*)
case x => x
}
}
那麼你可以做,
val rule = new RuleTransformer(new AddCat("Stevie"))
rule.transform(cats)
res2: Seq[scala.xml.Node] = List(<Cats><Cat Name="Floyd"/><Cat Name="Onyx"/><Cat Name="Stevie"/></Cats>)
同樣,如果你想改變這些Appro公司的屬性
class AddLastName(name: String, lastName: String) extends RewriteRule {
override def transform(n: Node): Seq[Node] = n match {
case e: Elem if e.label == "Cat" && (e \\ "@Name" text).equals(name) =>
val cat: String = e.attributes("Name").head.text
e % Attribute(None, "Name", Text(s"$name $lastName"), Null)
case x => x
}
}
val rule = new RuleTransformer(new AddLastName("Stevie", "Nicks"))
rule.transform(cats)
res3: Seq[scala.xml.Node] = List(<Cats><Cat Name="Floyd"/><Cat Name="Onyx"/><Cat Name="Stevie Nicks"/></Cats>)
兩個疼痛會做你想要的。困難的部分是弄清楚如何找到孩子,然後構建父節點。
相關問題
- 1. 插入/可更新的XML
- 2. Scala更新XML請求
- 3. 插入刪除更新xml文件
- 4. 更新/插入
- 5. 插入更新
- 6. 更新Scala XML中的節點屬性
- 7. 插入新的XML文本
- 8. 插入+更新/ Upsert?
- 9. 更新或插入
- 10. 更新插入HSQLDB
- 11. 插入和更新
- 12. SSIS:插入/更新
- 13. PetaPoco插入/更新
- 14. 插入/更新表
- 15. 插入和更新
- 16. 更新插入msaccess
- 17. 更新與插入
- 18. mysql插入/更新永遠插入永不更新
- 19. 更新/更新插入/插入到流星和MongoDB中
- 20. 異步插入&更新異步插入&更新:NoSql和SQL
- 21. Pymongo更新/更新插入與字典
- 22. SQL Server 2014查詢更新插入XML節點成功但未插入節點
- 23. Scala將XML導入地圖
- 24. 更新scala版本
- 25. 更新並插入TSQL
- 26. 修改插入到更新
- 27. 插入/更新查詢
- 28. 複製,插入和更新
- 29. 更新DGV插入行後
- 30. SQL,更新和插入
Xpath是一種查詢語言。據我記得你不能更新或寫它。你的意思是xslt嗎? – Jan
XPath將用於「選擇」一個節點,並提供一個將作爲子節點添加到此「父」節點的節點。順便說一句。我知道,Scala XML是不可變的,但是有沒有什麼可能的方法,如何完成這個任務? – user1746915
[this]怎麼樣?(http://stackoverflow.com/questions/4018300/substitution-xml-values-programatically-with-scala)問題?它展示瞭如何使用scala xml更新節點... – Jan