Доброе время суток.
Пробую использовать unit XMLParser;
тестю вот с таким xml.
- <xml>
<Information Type="FiltersAndStyles" DateExported="01_22_18_10_59_14" />
- <Filters>
<PFilters />
- <UserFilters>
- <Filter Name="P-0" FullPath="My Filters\P-0" Category="0" FilterType="Simple" Ignore="False">
<FilterDef Type="Sys" ObjectPath="Puth1" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth2" IncludeNested="False" />
</Filter>
- <Filter Name="P-5" FullPath="My Filters\P-5" Category="0" FilterType="Simple" Ignore="False">
<FilterDef Type="Sys" ObjectPath="Puth3" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth4" IncludeNested="False" />
</Filter>
- <Filter Name="P-3" FullPath="My Filters\P-3" Category="0" FilterType="Simple" Ignore="False">
<FilterDef Type="Sys" ObjectPath="Puth5" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth6" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth7" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth8" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth9" IncludeNested="False" />
</Filter>
- <Filter Name="P_4N" FullPath="My Filters\P_4N" Category="0" FilterType="Simple" Ignore="False">
<FilterDef Type="Sys" ObjectPath="Puth10" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth11" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth12" IncludeNested="False" />
<FilterDef Type="Sys" ObjectPath="Puth13" IncludeNested="False" />
</Filter>
</UserFilters>
<CFilters />
</Filters>
</xml>
Нужно получить
Filter Name="P_4N из Filter Name значение Puth
...PuthN
ObjectPath="Puth" из ObjectPath значение Puth
...PuthN
Для каждого фильтра свои пути.
Все выгрузить компонент memo.
Выходит исключение:
raise Exception.CreateCustomFmt(EParserError, SParseError, [Message, FSourceLine]);
При чтении и при загрузке.
тестовый пример :// открытие и загрузка.
https://yadi.sk/d/3B1uTqs33RibsMиспользую:
XMLParser.pas 24 ноября 2009 26,7 kb (не знаю насколько свежий)
err.pas 30 июня 2011 34,3 kb
kol323-x64-unofficial 16 марта 2015 2,11 MB
1) из-за чего возникает исключение?
2) какой код нужен для получения:
Filter Name="P_4N из Filter Name значение Puth ?
...PuthN
ObjectPath="Puth" из ObjectPath значение Puth ?
...PuthN
Для каждого фильтра свои пути.