Аватар для snake32
3485 / 1669 / 236
Регистрация: 26.02.2009
Сообщений: 8,202
Записей в блоге: 6

TXMLDocument и namespace

20.05.2010, 14:07. Показов 7970. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Понадобилось сформировать вот такой хмл:
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
  <Folder>
    <name>noname</name>
    <open>1</open>
    <GroundOverlay>
      <name></name>
      <color>BFFFFFFF</color>
    </GroundOverlay>
  </Folder>
</kml>
Решил юзать TXMLDocument, вроде он для этого и предназначен. Но после такого кода:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  var XMLDocument:TXMLDocument;
      node,folder,ifnode,ioverlay:IXMLNode;
   v:OLEVariant;
begin
  XMLDocument := TXMLDocument.Create(Self);
  try
      XMLDocument.Active := True;
      XMLDocument.Encoding := 'UTF-8';
      XMLDocument.Options := [ doNodeAutoCreate, doNodeAutoIndent ];
 
      node := XMLDocument.AddChild('kml');
      node.SetAttributeNS( 'xmlns', 'http://www.opengis.net/kml/2.2', 'http://www.opengis.net/kml/2.2' );
      node.SetAttributeNS( 'xmlns:gx', '', 'http://www.google.com/kml/ext/2.2' );
      node.SetAttributeNS( 'xmlns:kml','','http://www.opengis.net/kml/2.2' );
      node.SetAttributeNS( 'xmlns:atom','', 'http://www.w3.org/2005/Atom' );
      folder := node.AddChild('Folder');
      ifnode := folder.AddChild('name');
      ifnode.Text := 'noname';
      ifnode := folder.AddChild('open');
      ifnode.Text := '1';
      ioverlay := folder.AddChild('GroundOverlay');
      ioverlay.AddChild( 'name' );
      ifnode := ioverlay.AddChild( 'color' );
      ifnode.Text := 'BFFFFFFF';
    XMLDocument.SaveToFile('c:\Temp.txt');
...
формируется не то что надо:
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
  <Folder xmlns="">
    <name>noname</name>
    <open>1</open>
    <GroundOverlay>
      <name/>
      <color>BFFFFFFF</color>
    </GroundOverlay>
  </Folder>
</kml>
Как убрать xmlns="" в Folder'е? Эксперементировал с опциями и с DeclareNamespace - безуспешно. Либо убирается везде даже в корневом (kml) либо вообще не реагирует. Как мне быть?
Ещё вопросик:
Пустой чилд в фолдере обозначается как <name/>, а не <name></name>. Это нормально? Все стандартные парсеры поймут такую запись? Или просто можно опускать добавление пустых чилдом?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2010, 14:07
Ответы с готовыми решениями:

Ошибка CS0234 The type or namespace name 'Office' does not exist in the namespace 'Microsoft'
Здравствуйте. Помогите разобраться. Сбилдил проект после переустановки винды и тут такая ошибка. Error CS0234 The type or namespace name...

Головоломка с namespace в большом солюшине, проект подхватывает чужой namespace
Добрый вечер! Народ, подскажите, пожалуйста, что-то я никак понять не могу. Проблема в следующем: есть некое решение, в котором 50...

Области видимости namespace .Ошибка No code may exist outside of namespace {}
&lt;?php namespace MyProject{ class ClassA { public $val = 'MyProject &quot;ClassA&quot;'; } } namespace MyProject2{ class ClassA { ...

1
 Аватар для snake32
3485 / 1669 / 236
Регистрация: 26.02.2009
Сообщений: 8,202
Записей в блоге: 6
27.05.2010, 12:03  [ТС]
Цитата Сообщение от snake32 Посмотреть сообщение
Как убрать xmlns="" в Folder'е?
Надо было просто объявить в том же пространстве имён при добавлении.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2010, 12:03
Помогаю со студенческими работами здесь

The type or namespace name 'DirectoryServices' does not exist in the namespace 'System'
Подскажите, пожалуйста! Только начинаю на C# писать!:scratch: Вот такой вроде небольшой кодик: using System; using...

Какую ссылку добавить для решения проблемы "namespace name 'Drawing' does not exist in the namespace 'System'"
уже который раз сталкиваюсь с этой проблемой. Ошибка: The type or namespace name 'Drawing' does not exist in the namespace 'System' (are...

Ошибка The type or namespace name 'MsgBox' does not exist in the class or namespace 'MsgBox.MsgBox' (are you missing an assembly reference?)
Есть Class Library, написанная на VB.NET. Компилирую, вставляю assembly в VB.NET, все работает. Вставляю в проект на C#, не работает. Делаю...

Работа с TXMLDocument
пробую сохранить значения едита в файл TXMLDocument *XMLDocument = new TXMLDocument(this); try { XMLDocument-&gt;Active =...

Использование XPath с TXMLDocument
Есть у кого то пример как использовать XPath с помощью TXMLDocument?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском https:/ / vkvideo. ru/ video-231374465_456239020 На английском https:/ / www. youtube. com/ watch?v=oskqtCrWns0 Исходники примера:
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru