CMD/BAT - Получение значении из XML и сохранение в txt

Аватара пользователя
sector2484

CMD/BAT - Получение значении из XML и сохранение в txt

Сообщение sector2484 »

Здравствуйте уважаемые форумчане!



Есть вопрос.

Имеем xml-файл с примерно таким содержанием:



Код:

Код: Выделить всё

<id="1" x="108" y="34" w="8" h="16" />
<id="8" x="117" y="34" w="8" h="16"/>
<id="55" x="126" y="34" w="8" h="16" />
<id="157" x="175" y="0" w="9" h="16" />

Так вот, как сделать так, чтобы после обработки получился вот это:

Формула расчета:

id = x, y, x+w, y+h[/i]



То есть:



Код:

Код: Выделить всё

1 = 108, 34, 116, 50
8 = 117, 34, 125, 50
55 =126, 34, 134, 50
157 = 175, 0, 184, 16

...и сохранился в файле.



Заранее спасибо!
Аватара пользователя
Iska

Re: CMD/BAT - Получение значении из XML и сохранение в txt

Сообщение Iska »

Цитата sector2484:



Имеем xml-файл с примерно таким содержанием:
CMD/BAT - Получение значении из XML и сохранение в txt




Упакуйте Ваш xml-файл с точным и полным содержимым в архив и приложите к сообщению.
Аватара пользователя
Iska

Re: CMD/BAT - Получение значении из XML и сохранение в txt

Сообщение Iska »

Цитата Iska:



Упакуйте Ваш xml-файл с точным и полным содержимым в архив и приложите к сообщению.
CMD/BAT - Получение значении из XML и сохранение в txt
Аватара пользователя
sector2484

Re: CMD/BAT - Получение значении из XML и сохранение в txt

Сообщение sector2484 »

sector2484, это не xml, это какой-то огрызок от него.



Попробуйте так (на WSH):



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Dim strSourceFile
Dim strDestFile
Dim objFSO
Dim objRegExp
Dim arrContent
Dim strLine
Dim strResultLine
strSourceFile = "C:\Мои проекты\0202\cords.xml"
strDestFile   = "C:\Мои проекты\0202\Result.txt"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strSourceFile) Then
	With objFSO.OpenTextFile(strSourceFile)
		arrContent = Split(.ReadAll(), vbCrLf)
		.Close
	End With
	Set objRegExp = WScript.CreateObject("VBScript.RegExp")
	With objRegExp
		.Pattern    = "^$"
		.IgnoreCase = True
	End With
	With objFSO.CreateTextFile(strDestFile, True)
		For Each strLine In arrContent
			If objRegExp.Test(strLine) Then
				With objRegExp.Execute(strLine).Item(0).Submatches
					strResultLine = .Item(0) & " = " & .Item(1) & ", " & .Item(2) & ", " & .Item(3) & ", " & .Item(4)
				End With
				.WriteLine strResultLine
			Else
				WScript.Echo "Can't parse string [" & strLine & "]."
			End If
		Next
		.Close
	End With
	Set objRegExp = Nothing
Else
	WScript.Echo "Can't find source file [" & strSourceFile & "]."
	WScript.Quit 2
End If
Set objFSO = Nothing
WScript.Quit 0
Вложения
cords.7z
(1015 байт) 0 скачиваний
cords.7z
(1015 байт) 0 скачиваний
Аватара пользователя
sector2484

Re: CMD/BAT - Получение значении из XML и сохранение в txt

Сообщение sector2484 »

sector2484, шашечки или ехать? Или студент, а задание для cmd? Изображение
Аватара пользователя
YuS_2

Re: CMD/BAT - Получение значении из XML и сохранение в txt

Сообщение YuS_2 »

Цитата Iska:



for /f usebackq^ tokens^=2^,4^,6^,8^,10^ delims^=^" %%i in ("%sSourceFile%") do (

echo %%~i = %%~j, %%~k, %%~l, %%~m
CMD/BAT - Получение значении из XML и сохранение в txt




Работает, но по формуле id = x, y, w, h, а не id = x, y, x+w, y+h.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»