Нацельтесь на элемент 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 и преобразовывать его в структуру, которую я использовал ранее, но никогда не нашел реального практического применения для его использования.