Нацельтесь на элемент xml, используя xmlSearch (xpath), а затем создайте новый дочерний элемент в этом элементе coldfusion 8

Я пытаюсь написать новые элементы внутри элемента, на который я нацелился с его атрибутом id

Вот XML:

<?xml version="1.0" encoding="UTF-8"?>
<webpages>
  <course id="fteCharts">
    <linkName>FTE Charts</linkName>
    <link>index.cfm</link>
    <linkInfo>Looking for a new job or rotational experience, the links to NRC Jobs, solicitations of interest and rotational opportunities are provided. Would you like to become a leader in the NRC. The NRC offers a number of leadership development programs. The Leadership Development link provides you a list of these programs.</linkInfo>
  </course>
  <course id="matrix">
    <linkName>Skills Matrix</linkName>
    <link>index.cfm</link>
    <linkInfo>Skills Matrix Link. The NRC offers a number of leadership development programs. The Leadership Development link provides you a list of these programs.</linkInfo>
    <subLink>
        <name>Adminstrator Tool Kit 2</name>
        <url>http://r2.nrc.gov/drs/careertools/admintoolkit.pdf</url>
    </subLink>
    <subLink>
        <name>Technical Tool Kit Matrix 2</name>
        <url>http://r2.nrc.gov/drs/careertools/technicaltoolkit.pdf</url>
    </subLink>
  </course>
</webpages>

Вот как я вытащил данные для этого элемента в моем cfc:

<cfset params = toString( getHttpRequestData().content ) />

<cfset args = #deserializeJSON(params)# />

<cfset bPath = "e:\webapps\NRCNewsApps\rmsi" />

<cffile action="read" file="#bPath#\xml\nav.xml" variable="myxml">  
<cfset thedoc = XmlParse(myxml)>

<cfset arynode = XmlSearch(thedoc, "/webpages/course[ @id = '#args.linkID#' ]") />
<cfset xmlCourse = arynode[1] />

Так xmlCourse затем возвращает курс, к которому я хочу добавить узлы. Это массив с данными XML, которые мне нужны:

XmlElemNew(xmlCourse, "subLink");

Я хочу создать новые пустые узлы xml (называемые "подлинками") внутри целевого курса, я пробовал весь день и не понял этого.

1 ответ

Вам нужно будет сохранить XML-файл в оперативной памяти или на диск, прочитать его и найти сохраненный документ и присоединить узлы, читая данные и добавляя их с помощью команд file и append. Я не уверен, почему вы хотите вставить пустые узлы. Что вы пытаетесь достичь? Но есть и CFC-файлы, которые будут читать xml и преобразовывать его в структуру, которую я использовал ранее, но никогда не нашел реального практического применения для его использования.

Другие вопросы по тегам