У меня есть некоторые данные с разделителями двойной длины внутри некоторых тегов XML, и я хотел бы заменить/преобразовать разделительный текст в XML.
В разделительном тексте также используется двоеточие для разделения заголовка и данных, например: || тэг: данные ||
Названия заголовков или тегов могут быть любыми, это всего лишь один пример. Поэтому я не знаю заранее, что я получаю. Я должен взять то, что указано перед двоеточием, и использовать это.Использование XSLT для преобразования текста с разделителями в XML
<doc>
<arr name="content">
<str> stream_source_info docname stream_content_type text/html stream_size 412 Content-Encoding ISO-8859-1 stream_name docname Content-Type text/html; charset=ISO-8859-1 resourceName docname ||phone:3282||email:[email protected]||officenumber:D-107A||vcard:https://c3qa/profiles/vcard/profile.do?key=5c28d263-d8aa-4a8a-ae90-4e8b13de7a0b||photo:https://c3qa/profiles/photo.do?key=5c28d263-d8aa-4a8a-ae90-4e8b13de7a0b&lastMod=1348674215846||pronunciation:https://c3qa/profiles/audio.do?key=5c28d263-d8aa-4a8a-ae90-4e8b13de7a0b&lastMod=1348674215846|| </str>
</arr>
</doc>
Могу ли я использовать XSLT для преобразования этого XML в это?
<doc>
<arr name="content">
<str> stream_source_info docname stream_content_type text/html stream_size 412 Content-Encoding ISO-8859-1 stream_name docname Content-Type text/html; charset=ISO-8859-1 resourceName docname
<phone>3282</phone>
<email>[email protected]</email>
<officenumber>D-107A</officenumber>
<vcard>https://c3qa/profiles/vcard/profile.do?key=5c28d263-d8aa-4a8a-ae90-4e8b13de7a0b</vcard>
<photo>https://c3qa/profiles/photo.do?key=5c28d263-d8aa-4a8a-ae90-4e8b13de7a0b&lastMod=1348674215846</photo>
<pronunciation>https://c3qa/profiles/audio.do?key=5c28d263-d8aa-4a8a-ae90-4e8b13de7a0b&lastMod=1348674215846</pronunciation>
</str>
</arr>
</doc>
URL-адреса должны быть обернуты в CDATA, и разграниченная версия должна быть заменена.
Может кто-нибудь указать мне в правильном направлении? Спасибо,
+1! Отлично! Спасибо, это сработало красиво! Мне пришлось поиграть с саксонской командной строкой, но я получил ее работу. – djm
Привет, Мартин, мой XML изменился, и иногда str имеет имя i.e. как сохранить имя? –
djm
Хорошо, я изменил match = "str" на match = "str/@ type", и это, похоже, сработало. Это правильно? – djm