можно ли заменить подстроку в элемент dom - PullRequest
1 голос
/ 18 февраля 2012

У меня здесь ситуация, я немного java парень и мне тяжело с php. Я создаю файл XML из базы данных. На данный момент я создал более 90 динамических элементов, некоторые из которых включают атрибуты, дочерние элементы и т. Д., Без каких-либо проблем. Но здесь все запуталось;

text1: here is a list of pencils[1]. here is a list of another type of pencils[2].

Я хочу иметь

<text1>

here is a list of pencils <id>1</id>. here is a list of another type of pencils <id>2</id>.

</text1>

Я могу заменить подстроки ([1], [2]) и вставить какой-нибудь другой текст, но как заменить эти подстроки элементом DOM?

любая помощь высоко ценится.

1 Ответ

1 голос
/ 18 февраля 2012

Вы не можете этого сделать, потому что строка, которую вы хотите заменить, - это node Value узла text1. Вариант будет структурировать его следующим образом:

<text1>
  <partial>here is a list of pencils</partial>
  <id>1</id>
  <partial>.here is a list of another type of pencils</partial>
  <id>2</id>
</text1>

Но, честно говоря, это неоптимально.

Полагаю, что вас смутило (и меня там на секунду) то, как мы пишем HTML:

<p>some text here <a href="...">a link</a> more <strong>variation</strong></p>

Что может создать у нас впечатление, что это также должен быть действительный XML; но, конечно, есть еще одна вещь, которую нужно знать; что браузеры фактически преобразуют предыдущий HTML в следующую форму (~):

<p>
  <textnode>some text here </textnode>
  <a href="...">
    <textnode>a link</a>
  </a>
  <textnode> more </textnode>
  <strong>variation</strong>
</p>

Не ответ, но я бы порекомендовал вам переосмыслить свой формат XML.

...