Как удалить ОС Mongoose от Debian?

Да, не использовать sed в XML . Плохие новости.

Я думаю, ваша проблема на самом деле заключается в простом цитировании - вы указываете свой xpath в одинарных кавычках, а Elem также в одинарных кавычках.

У меня нет под рукой копии xmllint , но это работает:

#!/usr/env/perl

use strict;
use warnings;

use XML::LibXML;

my $xml = XML::LibXML -> load_xml ( IO => \*DATA ); 
print $xml -> findnodes('//XML/*[local-name()="Elem"]');

__DATA__
<?xml version="1.0" encoding="UTF-8"?>
<XML>
    <hhi:Elem xmlns:hhi="http://www.w3.org/TR/html4/" version="1.0" sn="101"> 
    </hhi:Elem>
</XML>

Это печатает:

sn="101"

Вам также не нужен XML , потому что // означает «где угодно в дереве».Итак, вы можете использовать:

//*[local-name()="Elem"]/@sn
/XML/*[local-name()="Elem"]/@sn

Для полноты картины, зарегистрировав пространство имен, вы можете сделать это следующим образом:

#!/usr/env/perl

use strict;
use warnings;

use XML::LibXML;

my $xml = XML::LibXML -> load_xml ( IO => \*DATA ); 
my $xpc = XML::LibXML::XPathContext -> new;
$xpc -> registerNs('x', 'http://www.w3.org/TR/html4/');
print $xpc -> findnodes('/XML/x:Elem/@sn', $xml);

__DATA__
<?xml version="1.0" encoding="UTF-8"?>
<XML>
    <hhi:Elem xmlns:hhi="http://www.w3.org/TR/html4/" version="1.0" sn="101"> 
    </hhi:Elem>
</XML>

Теперь я знаю, что это напрямую не помогает с xmllint , кроме разрешения тестирование используемого вами xpath . Но я думаю, что вас сбивают с толку цитаты, а не xpath .

Могу я предложить вам:

xmllint --xpath '//*[local-name()="Elem"]/@sn' FILE_1.xml
0
13.09.2018, 11:01
1 ответ

Чтобы определить, как удалить часть программного обеспечения, установленного таким образом, вам нужно прочитать сценарий, используемый для выполнения установки, и определить, что он сделал, а затем отменить это. Использование паттернов стиляcurl | sh-означает, что скрипт установки не сохраняется, поэтому нам нужно загрузить текущую версию и надеяться, что его поведение не изменилось с момента установки.

В данном конкретном случае удаление выполняется просто, если исходить из значений по умолчанию.:

  • удалить ~/.mos/bin/mos— это единственный файл, добавляемый при установке;
  • если ~/.mos/binпусто, удалить его, а затем, если ~/.mosпусто, удалить его;
  • отредактируйте ~/.bashrcили ~/.profile, чтобы удалить строку, добавив ~/.mos/binк PATH.

Если вы указали другой DESTDIRпри установке, вам нужно вместо этого удалить mosиз этого каталога.

2
28.01.2020, 02:31

Теги

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