Показать полную графическую версию : [решено] Удалить одну фразу (кодировка файла UTF-8)
Прощу помощи. Нужно найти фразу в исходном файле и удалить её. Файл в UTF-8. Как не пытаюсь, все кодировку нарушаю.
Файл прикрепил. Нужно убрать фразу "Для разблокировки проведите пальцем по экрану".
Можно на VBS.
Также подскажите как можно менять фразу на другую, вдруг пригодиться...
njg, попробуйте так:
Option Explicit
Dim strPath2XML
Dim objXMLDOMNode
With WScript.CreateObject("Msxml2.DOMDocument")
.async = False
.setProperty "SelectionLanguage", "XPath"
strPath2XML = "E:\Песочница\0023"
If .load(strPath2XML & "\strings.xml") Then
For Each objXMLDOMNode In .selectNodes("*/string[. = 'Для разблокировки проведите пальцем по экрану']")
objXMLDOMNode.removeChild objXMLDOMNode.firstChild
Next
.save strPath2XML & "\strings2.xml"
End If
End With
WScript.Quit 0
Foreigner
03-01-2012, 20:35
Вариант с POSH:
$xmlfile = gi ".\strings.xml"
$xml = new-object xml
$xml.load($xmlfile.fullname)
$xml.resources.string | ? { $_.name -match "lockscreen_unlock_guide_text" } | % { $_."#text" = '' }
$xml.save($xmlfile.fullname)
Вариант с Posh:
(gc strings.xml -enc utf8) -notmatch 'Для разблокировки проведите пальцем по экрану' | out-file result.xml -enc utf8
Foreigner
03-01-2012, 21:18
Kazun, так наверное удалится вся строка, а не "фраза"
Foreigner,замените на replace в чем проблема.
Iska, ваш вариант мне понравился, простой и без доп. компонентов. Но только он не работает. Вернее коверкает исходный файл. Некоторые теги были изменены и пропал закрывающий тег за вырезанной фразой.
А нельзя ли на VBS пробежаться по xml файлу как по обычному тексту у вырезать лишнее?
njg, у меня получается результирующий файл следующего вида:
* в нём приведены к стандарту XML некоторые некорректные тэги (наличествующие символы «>» в тексте заменены на соответствующие коды);
* тэг:
<string name="lockscreen_unlock_guide_text">Для разблокировки проведите пальцем по экрану</string>
после удаления текста выглядит так:
<string name="lockscreen_unlock_guide_text"/>
— это никак не «пропадание закрывающего тэга», а стандартный для XML способ;
* отступы-пробелы заменены на табуляцию.
Результирующий файл проходит проверку на валидность в XML Validator (http://www.w3schools.com/xml/xml_validator.asp). Что не так?
Спасибо! Вставил пропатченный файл в прошивку, прошил телефон, все работает как нужно :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.