Пакет scala.xml
представляет XML с узлами отмеченного дерева. Но является ли это дерево однонаправленным в Scala 2.7, поскольку, похоже, нет способа получить доступ к родителю Elem
данного Elem
? То же самое относится к родителям Document
. Например, в XOM у вас есть getParent
и getDocument
аксессуаров для перехода к корню дерева. Можно ли это сделать с помощью XML-интерфейса Scala?Как получить доступ к родительскому элементу в Scala XML
ответ
Как уже упоминалось, нет родительских связей, чтобы сделать их эффективными неизменяемыми структурами. Например:
scala> val a = <parent><children>me</children></parent>
a: scala.xml.Elem = <parent><children>me</children></parent>
scala> val b = a.child(0)
b: scala.xml.Node = <children>me</children>
scala> val c = <newparent>{b}</newparent>
c: scala.xml.Elem = <newparent><children>me</children></newparent>
scala> a
res0: scala.xml.Elem = <parent><children>me</children></parent>
scala> b
res1: scala.xml.Node = <children>me</children>
scala> c
res3: scala.xml.Elem = <newparent><children>me</children></newparent>
Данной структуры данных не было. Узел, на который указывает b
, является тем же самым узлом, на который указывают как a
, так и c
. Если он должен был указывать на родителя, тогда вам придется сделать его копию, когда вы использовали его в c
.
Чтобы ориентироваться в этой структуре данных так, как вы хотите, вам понадобится так называемый чисто аппликативный XML-курсор.
Но это дерево однонаправленное в Scala?
Да. Из-за подхода к неизменности в scala.xml узлы не знают своего родителя.
Это однонаправленный, поэтому узлы не знают своего родителя.
Возможно, у вас возникнет проблема с преобразованием в DOM. Кажется, в этой стандартной библиотеке ничего нет, но я нашел this thread на эту тему, которая может быть полезна.
- 1. Наследование: доступ к родительскому элементу
- 2. Как получить доступ к родительскому элементу в утверждении XSD XPath?
- 3. Доступ к первому родительскому элементу без ID
- 4. Wpf tempating - Как получить доступ к родительскому элементу элемента ItemsControl?
- 5. Как получить доступ к родительскому элементу элемента, который был нажат?
- 6. MySql Не удается получить доступ к родительскому элементу в подзапросе?
- 7. Как получить доступ к элементу
- 8. Доступ к родительскому элементу Внутри href
- 9. Как получить доступ к элементу списка в списке в scala
- 10. Получить полный доступ к XML-элементу?
- 11. Как получить доступ к переопределенному элементу данных в Scala?
- 12. Перемещение к родительскому элементу в усах Ractivejs
- 13. Доступ к родительскому элементу в javascript без создания обработчика
- 14. Как получить доступ к элементу в этом XML
- 15. PHP: Как получить доступ к последнему элементу в файле XML
- 16. Как получить доступ к родительскому представлению репутации
- 17. Применить CSS к родительскому элементу
- 18. Python minidom: Как получить доступ к элементу
- 19. Как добавить класс к родительскому элементу
- 20. Доступ к родительскому элементу элемента с помощью SimpleXML PHP?
- 21. Как получить доступ к элементу в объекте?
- 22. Получите доступ к родительскому элементу при нажатии ContextMenu WPF
- 23. javascript Доступ к родительскому элементу из прослушивателя событий
- 24. ASP.NET Вложенная привязка данных - доступ к родительскому элементу данных
- 25. Доступ к «родительскому» объекту
- 26. Как применить стиль только к родительскому элементу?
- 27. Как применить addClass к родительскому элементу родителя?
- 28. Доступ к элементу без тегов файла xml
- 29. LINQ to XML - группа по родительскому элементу
- 30. Доступ к родительскому элементу из дочернего дочернего класса