Как я на самом деле читаю XML-файл в человеческой форме, которая имеет смысл?

Более чем 30 лет, программируя на десятках языков от блока до администрирования баз данных Oracle, и я ничто не нашел более безопасным и надежным, чем Щенок Linux.

Как все системы Unix/Linux, Щенок безопасность Linux является совсем другим миром, чем Microsoft один, большинство знакомо с. Осуждение, выраженное в других ответах, абсолютно понятно, хотя с точки зрения Microsoft, но происходит от отсутствия понимания что там другие подходы к безопасности.

В целом Microsoft Windows O/Ss принимает полный доступ ко всему, если явно не отклонено. Unix/Linux не принимает доступа ни к чему, если явно не предоставлено. Это имеет большое значение в предотвращении несанкционированного доступа.

*отклоняют root пользователь является предоставленным полным доступом к большинству все, хотя даже root обычно препятствуется делать вещи как выполнение файла, который не имеет выполнить набора флага разрешения и соединяющийся с другим хостом через SSH без пароля или заранее спланированного совместного использования ключа.

В отличие от "собственного" Linux, Щенок Linux был оптимизирован для однопользовательской среды. Однопользовательское, root, имеет полный контроль над той машиной и таким образом имеет способность лучше защитить его от злоумышленников. Если необходимо разместить многочисленных пользователей, попробуйте один из многих других прекрасных дистрибутивов Linux.

Использование Linux щенка unionfs/aufs, складывающего файловые системы, сохраняет все но недавно измененные файлы на слоях только для чтения. Это обеспечивает возможность "отмены", которая позволяет более легкое восстановление всей системы к известному хорошему состоянию. Как последнее прибежище исходная система, как распределено сохранена в нижней части слоем только для чтения, где это может быть перезагружено к при сохранении последующих изменений на верхних уровнях.

Хотя редко обсуждено, частое исправление программного обеспечения является мультиобрамленным мечом. Новые версии должны всегда размещать текущие аппаратные средства, которые часто создают незначительные сбои во взаимодействии с более старым программным и аппаратным обеспечением. Вот почему, если Вы хотите усовершенствовать что-нибудь, необходимо сохранить все актуальным.

Исправление может быть единственной жизнеспособной защитой в средах Microsoft, но каждый Linux идет с большой панелью инструментов методов для хранения систем безопасными при работе аппаратных средств, это не является последним и самым большим.

Щенок Linux главным образом используется программистами, системными администраторами и аналитиками для их ежедневных вычислительных потребностей, делающих вещи как...

  • Доступ в Интернет десятков веб-сайтов одновременно от нескольких машин/пользователей.
  • Программное обеспечение Developing почти на любом языке когда-либо изобретено.
  • Экспериментирование с бесконечными перестановками и комбинациями конфигураций программного обеспечения.
  • ... и даже проверяя электронную почту и социальные сети при ответе на вопросы здесь.

5
15.10.2014, 21:08
4 ответа

Попробуйте следующее:

grep "<TD>" yourfile.xml | awk -F "TD" '{gsub(">|</","",$0); print $2;}'

вывод будет:

51.9029244701
47.0082067303

grep выберите xml TD тег, awk используйте TD в качестве разделителя и удалите > и из поля $2.

Для того, чтобы выбрать все узлы, попробуйте xslt преобразование:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="text" indent="yes"/>
   <xsl:template match="node()">
      <xsl:value-of select="." />
   </xsl:template>
</xsl:stylesheet>

Это приведет к выводу содержимого всех узлов в вашем xml файле.

2
27.01.2020, 20:36

Я написал очень простой Python скрипт, который будет читать в xml файле и выводить его содержимое в другой файл:

import sys
inFile = open(sys.argv[1], 'r')
outFile = open(sys.argv[2], 'w')    
read = True
for i in inFile.read():
    if i == '<':
        read = not read
    if read:
        outFile.write(i)
    if i == '>':
        read = not read

Сохраните его как readxml.py, а затем вызовите из оболочки вот так: $ python readxml.py input.xml output.txt . Это действительно рудиментарно, так что это может быть не то, что вы ищете, но это что-то!

2
27.01.2020, 20:36

Здесь поздний ответ: В репозитории Ubuntu есть очень хорошая утилита под названием xmlto, которая может вам помочь. Она преобразует xml в различные форматы, включая простой текст, epub, pdf.

В режиме онлайн существует Oxgarage, который имеет множество вариантов преобразования.

3
27.01.2020, 20:36

Это проще, чем вы думаете на самом деле - элементы XML имеют 4 «вещи» - имя, атрибуты, дочерние элементы и «контент».

Таким образом, вы можете перебирать все элементы содержимого и просто печатать их (с переводом строки или без него).

#!/usr/env/perl

use strict;
use warnings;

use XML::Twig;

my $twig = XML::Twig -> parsefile ( 'your_file');
print $_ -> text."\n" for grep { $_ -> is_pcdata } $twig -> get_xpath('//*');

Это выявляет все узлы «содержимого» ( pcdata ) и печатает их - по одному на каждый линия.

Но на самом деле, когда дело доходит до XML, «читабельный» - это своего рода суть. Почему бы просто не распечатать его и оставить как есть, чтобы человек, читающий его, мог ... ну, прочитать и не потерять данные в процессе.

Вы можете переформатировать его, если хотите:

$twig -> set_pretty_print ('indented_a'); 
$twig -> print;

Это довольно хорошее приближение к «читаемому человеку».

1
27.01.2020, 20:36

Теги

Похожие вопросы