Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2012, 12:07   #1
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию Отображение и просмотр XML

Доброго времени суток.
Вы сталкивались с тем, чтобы просмотреть достаточно объёмный XML файл? Если да, то какими программными продуктами вы пользовались?
Хотелось бы отобразить дерево XML с комментариями (файл есть и комменты написаны, надо только их представить в общем виде (схема, дерево...), ибо файл большой, а бумаги мало).
Lasor вне форума Ответить с цитированием
Старый 24.12.2012, 12:15   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Я этим пользуюсь.
http://xml-copy-editor.sourceforge.net/ и этим: http://sourceforge.net/projects/camprocessor/
Человек_Борща вне форума Ответить с цитированием
Старый 24.12.2012, 12:50   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Lasor

достаточно объёмный XML файл?

Это сколько? Мегабайты, сотни мегабайт, гигабайты, тарабайты?

В любом случае, попробуй Altova XMLSpy
Пользуюсь этим редактором уже несколько лет и пока не видел ничего более лучшего.

А для гиганских xml есть x64-версия.

Программа платная, для использования нужно купить или украсть.
Rififi вне форума Ответить с цитированием
Старый 24.12.2012, 13:00   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Не очень понимаю, в КАКОМ ВИДЕ всё-таки надо представить данные, но могу порекомендовать бесплатное решение UniqwayPoetic http://www.uniqway.com/
Но это по сути простой текстовый редактор с подсветкой синтаксиса, хотя он и форматирование покажет, и позволит обрабатывать текст, используя регулярные выражения.
Вадим Мошев вне форума Ответить с цитированием
Старый 24.12.2012, 13:05   #5
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
Это сколько? Мегабайты, сотни мегабайт, гигабайты, тарабайты?
Объёмный он по размеру страниц. Необходимо посмотреть структуру в виде рисунка или чего-либо подобного. Поля имеют комментарии.

Последний раз редактировалось Lasor; 24.12.2012 в 13:33.
Lasor вне форума Ответить с цитированием
Старый 15.01.2013, 14:10   #6
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Доброго времени суток.
Я загружаю XML из QT Creator следующим образом:
Код:
void MainWindow::traverseNode(const QDomNode& node)
{
    QDomNode domNode = node.firstChild();
    while (!domNode.isNull())
    {
        if (domNode.isElement())
        {
            QDomElement domElement = domNode.toElement();
            if (!domElement.isNull())
            {
                if (domElement.tagName() == "MessageGroup")
                {
                    qDebug() << "Attr: " << domElement.tagName() << domElement.text();
                }
                else
                {
                    qDebug() << "TagName: " << domElement.tagName() << "\tText" << domElement.text();
                }
            }
        }
        traverseNode(domNode);
        domNode = domNode.nextSibling();
    }
}
Код:
void MainWindow::readFile()
{
    QDomDocument domDoc;
    QFile file("Config/TestXML.xml");
    if (file.open(QIODevice::ReadOnly))
    {
        if (domDoc.setContent(&file))
        {
            QDomElement domElement = domDoc.documentElement();
            traverseNode(domElement);
        }
        file.close();
    }
}
И в консоле получаю:

Код:
Attr:  "MessageGroup" "" 
TagName:  "Message" 	Text "" 
TagName:  "Field" 	Text "" 
TagName:  "Field" 	Text "" 
TagName:  "Struct" 	Text "" 
TagName:  "Field" 	Text "" 
TagName:  "Field" 	Text ""
Вот, что находится в этом самом XML:

Код:
<?xml version="1.0" encoding="windows-1251"?>
<Messages>
<MessageGroup name="First message group">
  <Message num="1" description="First packet">
    <Field name="packNum" type="ushort"/>
    <Field name="packSize" type="ushort"/>
    <Struct name="twoNums" count="10">
      <Field name="num1" type="uchar"/>
      <Field name="num2" type="ushort"/>
    </Struct>
  </Message>  
</MessageGroup>
</Messages>
Есть знатоки, что я делаю не так? Мне надо выводить номер сообщения и прочие поля.
Lasor вне форума Ответить с цитированием
Старый 16.01.2013, 12:31   #7
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Проблему решил. Если кому интересно, вот решение:
Код:
void MainWindow::traverseNode(const QDomNode& node)
{
    QDomNode domNode = node.firstChild();
    while (!domNode.isNull())
    {
        if (domNode.isElement())
        {
            QDomElement domElement = domNode.toElement();
            if (!domElement.isNull())
            {
                if (domElement.tagName() == "Group")
                {
                    qDebug() << "Group: " << domElement.tagName() << "\tName" << domElement.attribute("name");
                }
                else
                {
                    qDebug() << "Key: " << domElement.tagName() << "\tName" << domElement.attribute("name") << "\tValue" << domElement.attribute("value");
                }
            }
        }
        traverseNode(domNode);
        domNode = domNode.nextSibling();
    }
}
Lasor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML Mapper, отображение только первого нода KAMIKAZA БД в Delphi 0 13.10.2011 13:28
сформировать xml-файл на основе другого xml-файла NieL Общие вопросы Delphi 2 21.12.2010 15:49
RichEdit отображение xml текста kotzzz Общие вопросы Delphi 2 08.11.2010 10:40
парсер XML, не видит XML тэги supercelt PHP 3 02.11.2009 19:18
Отображение скрытых файлов и папок и отображение розширения всех файлов beegl Общие вопросы Delphi 10 14.12.2008 22:02