2016-12-30 5 views
-1

Я хочу добавить «<? Xml-stylesheet href =" view.xsl "type =" text/xsl "? >" эта строка в нижнем XML-файле после " <? Xml version = "1.0" encoding = "UTF-8"? > ". Просьба проверить и предоставить правильную пакетную программу.Как добавить текст в конкретную строку с помощью Batch-файла

XML File

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="view.xsl" type="text/xsl"?> 
<!--s1.dtd v4.20--> 
<!DOCTYPE article_set SYSTEM "s1.dtd"> 
+0

Что вы написали до сих пор? Покажите, пожалуйста, ваши исследования и попытки. –

+2

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что это вопрос – Magoo

+0

, который вы искали в stackoverflow перед публикацией этого вопроса? это сообщение может помочь http://stackoverflow.com/questions/60034/how-can-you-find-and-replace-text-in-a-file-using-the-windows-command-line-envir – Kamaraj

ответ

1

Перед тем, как начать, позвольте мне рекомендовать вам использовать другой язык, который способен обрабатывать данные XML как данные XML встроенных компонентов; рассматривая их как «нормальные» текстовые данные, может повредить структуру данных XML.

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

setlocal EnableDelayedExpansion 
set "SECOND=<?xml-stylesheet href="view.xsl" type="text/xsl"?>" 
< "datafile.xml" > "datafile.xml.tmp" (
    set /P FIRST="" 
    echo(!FIRST! 
    echo(!SECOND! 
    findstr "^" 
) 
> nul move /Y "datafile.xml.tmp" "datafile.xml" 
endlocal 

Ограничение: текстовые данные должны быть ANSI кодировка; первая строка не должна превышать 1023 байта (включая завершающий разрыв строки); оставшиеся строки не должны быть длиннее 8192 байтов (включая также завершающий разрыв строки); скрипт не проверяет содержимое файла, он просто вставляет строку после первого.

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

Смежные вопросы