Я начал программирование в R сегодня, и я хочу получить некоторые значения на основе XML-файла (с библиотекой «XML»).Фильтровать XML по значению узла в R
XML ниже - упрощенная версия реального.
<PDBx:datablock xmlns:PDBx="http://pdbml.pdb.org/schema/pdbx-v40.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" datablockName="1AEW" xsi:schemaLocation="http://pdbml.pdb.org/schema/pdbx-v40.xsd pdbx-v40.xsd">
<PDBx:atom_siteCategory>
<PDBx:atom_site id="1">
<PDBx:Cartn_x>22.250</PDBx:Cartn_x>
<PDBx:Cartn_y>-18.232</PDBx:Cartn_y>
<PDBx:Cartn_z>52.362</PDBx:Cartn_z>
<PDBx:label_atom_id>N</PDBx:label_atom_id>
</PDBx:atom_site>
<PDBx:atom_site id="2">
<PDBx:Cartn_x>22.188</PDBx:Cartn_x>
<PDBx:Cartn_y>-19.614</PDBx:Cartn_y>
<PDBx:Cartn_z>52.835</PDBx:Cartn_z>
<PDBx:label_atom_id>CA</PDBx:label_atom_id>
</PDBx:atom_site>
.
.
.
Что нужно извлечь это (х, у, г) координаты всех «atom_site» узлы, которые имеют значение «CA» внутри своего узла «label_atom_id».
я уже искал, и это то, что я нашел:
nodes = getNodeSet(xmltop[[1]], "//atom_siteCategory/atom_site[@label_atom_id='CA']");
xmltop[[1]]
Я использую, потому что я хочу, чтобы найти узел «atom_siteCategory». Это узел, содержащий все узлы «atom_site».
Проблема с этим XPATH заключается в том, что atom_site[@label_atom_id='CA]
работает для атрибутов узла, а не значений узлов.
В нескольких словах: 1) Как получить atom_site
узлы с "CA"
как значение label_atom_id
. (какой XPATH использовать)
2) Как извлечь из этих узлов 3 координаты (x, y, z). (Как заполнить data.frame с этим координаты)