DOM-парсер для XML Edit, Update - PullRequest
       27

DOM-парсер для XML Edit, Update

0 голосов
/ 04 сентября 2018

Я благодарен за ВСЕ сообщения, которые помогают мне анализировать XML с помощью DOM-парсера.

Я понятия не имею, как динамически добавлять данные, как показано ниже, в мой XML-файл с использованием DOM-парсера, может кто-нибудь помочь мне выбраться из этого.

Спасибо.

<group
    android:name="Marker Group Left Front Wing Mirror Cover"
    android:scaleX="1"
    android:scaleY="1"
    android:translateX="1778.866765"
    android:translateY="331.3570720">
    <path
        android:name="Marker Red"
        android:fillColor="#ff0031"
        android:pathData="M36.387 0.355c-19.829 0 -35.959 16.13 -35.959 35.959 0 24.607 32.177 60.732 33.546 62.26 1.288 1.429 3.535 1.427 4.821 0 1.369 -1.526 33.551 -37.65 33.551 -62.26 0 -19.829 -16.13 -35.959 -35.959 -35.959zm0 54.053c-9.976 0 -18.093 -8.116 -18.093 -18.094 0 -9.976 8.117 -18.091 18.093 -18.091 9.978 0 18.095 8.115 18.095 18.091 0 9.978 -8.117 18.094 -18.095 18.094z" />
</group>

Я хочу добавить вышеуказанные данные к следующему узлу, указанному ниже:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="1800"
android:viewportWidth="2880">

NEED TO ADD ABOVE group node HERE

</vector>

1 Ответ

0 голосов
/ 04 сентября 2018

После нескольких НИОКР по элементам и атрибутам я наконец нашел решение.

Element group = doc.createElement("group");
    group.setAttribute("android:name", "Marker Group Left Front Wing Mirror Cover");
    group.setAttribute("android:scaleX", "1");
    group.setAttribute("android:scaleY", "1");
    group.setAttribute("android:translateX", "1778.866765");
    group.setAttribute("android:translateY", "331.3570720");

    Element root = doc.getDocumentElement();
    (here root is my vector in which i want to add group element)
    root.appendChild(group);
  • Приведенный выше код добавит группу в мой вектор.

    Element path = doc.createElement("path");
    path.setAttribute("android:name", "Marker Red");
    path.setAttribute("android:fillColor", "#ff0031");
    path.setAttribute("android:pathData", "M36.387 0.355c-19.829 0 -35.959 16.13 -35.959 35.959 0 24.607 32.177 60.732 33.546 62.26 1.288 1.429 3.535 1.427 4.821 0 1.369 -1.526 33.551 -37.65 33.551 -62.26 0 -19.829 -16.13 -35.959 -35.959 -35.959zm0 54.053c-9.976 0 -18.093 -8.116 -18.093 -18.094 0 -9.976 8.117 -18.091 18.093 -18.091 9.978 0 18.095 8.115 18.095 18.091 0 9.978 -8.117 18.094 -18.095 18.094z");
    
    
    root.getLastChild().appendChild(path);
    
  • Код выше добавит путь к моей группе, которая является последним потомком вектора корневого элемента.
...