|
КАк прочитать пространство имен в XML? | ☑ | ||
---|---|---|---|---|
0
Маленький Вопросик
11.10.15
✎
20:14
|
||||
1
Маленький Вопросик
11.10.15
✎
21:15
|
Чтобы в переменную получить url сайта
|
|||
2
Поpyчик-4
11.10.15
✎
22:43
|
Ну, наверное через чтение атрибутов узла. Есть принципиальная разница?
|
|||
3
DrShad
11.10.15
✎
23:36
|
Создай документ DOM и читай что хочешь
|
|||
4
Маленький Вопросик
12.10.15
✎
06:39
|
ПостроительДом = Новый ПостроительDOM();
ДанныеDOM = ПостроительДом.Прочитать(ДанныеXML); Для Каждого ЭлементDOM ИЗ ДанныеDOM.ПолучитьЭлементыПоИмени("Doc") Цикл ЭтаФорма.Тест = ЭлементDOM.ПолучитьАтрибут("xmlns:test"); КонецЦикла; к сожалению, атрибут такого типа не считывает... как быть??? |
|||
5
Записьдампа
12.10.15
✎
07:58
|
(4)
ЭлементDOM (DOMElement) URIПространстваИмен (NamespaceURI) Использование: Только чтение. Описание: Тип: Строка; Неопределено. URI пространства имен узла. Свойство имеет значение Неопределено для узлов, отличных от Атрибут и Элемент, или для узлов, созданных при помощи метода DOM Level 1 (например, СоздатьЭлемент). Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). |
|||
6
Записьдампа
12.10.15
✎
08:00
|
(1) А вот это не совсем вменямая хотелка. Пространство имен к сайту не имеет никакого отношения.
|
|||
7
Адинэснег
12.10.15
✎
08:43
|
<Doc xmlns:test="my_name_space"; >
|
|||
8
Адинэснег
12.10.15
✎
08:43
|
и уже не URL
|
|||
9
Маленький Вопросик
12.10.15
✎
09:36
|
(8) не корректно выразился, но смысл все поняли.
(5) примерчик бы - гуглю, не получается |
|||
10
DrShad
12.10.15
✎
10:05
|
ДокументDOM (DOMDocument)
URIПространстваИмен (NamespaceURI) Использование: Только чтение. Описание: Тип: Строка; Неопределено. URI пространства имен узла. Свойство имеет значение Неопределено для узлов, отличных Атрибут и Элемент, или для узлов, созданных при помощи метода DOM Level 1 (например, СоздатьЭлемент). Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
11
Записьдампа
12.10.15
✎
10:30
|
(9)
1) Чтобы получить пространство имен нужного узла, надо взять от него свойство URIПространстваИмен, например
Внезапно выведет пустую строку. И это правильно, потому что само имя "Doc" относится к пространству имен по умолчанию (которое определяется выше и которое здесь пусто). Если изменить пример и указать, что имя "Doc"" относится к декларируемому пространству: Чтение.УстановитьСтроку(
То получим ожидаемое. Ну или аналогично, сразу через ЧтениеXML Чтение = Новый ЧтениеXML;
2) Чтобы получить все текущие пространства имен достаточно получить массив имен у свойства чтения "КонтекстПространствИмен" вызовом URIПространствИмен(). Например так: Чтение = Новый ЧтениеXML;
Здесь уже нет разницы - на каком уровне и для чего было определено пространство - для документа или для вложенных элементов. Аналогичный результат будет и при Чтение.УстановитьСтроку(
И при Чтение.УстановитьСтроку(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |