2013-12-26 3 views
1

Я хотел бы прочитать входной файл txt, который имеет только одну строку (сообщение xml). Я стараюсь:SAS: чтение входного txt-файла в набор данных

data res; 
length result $500; 
infile 'C:\Temp\RESPONSE.xml'; 
input result; 
run; 

Но в результирующем наборе данных в переменном результате я вижу только часть строки до первого пробела.

Строка в файле RESPONSE.xml представляет собой простой посыл xml с некоторыми тегами.

Какой вариант я должен включить в набор данных, чтобы прочитать полную строку из входной_файл RESPONSE.xml

ответ

1

Я буду идти на это. Похоже, у вас может быть беспорядочный .xml-файл. Если это так, вам нужно указать XMLMAP. Я не знаю, какие теги у вас есть или макет ваших тегов из вашего описания. Но сначала попробуйте простой оператор libname с движком xml, если файл .xml не слишком запутан.

libname my xml 'C:\sasdata\sample.xml'; 
data work.sample2; 
    set my.sample; 
run; 

С другой стороны, если у вас есть SAS 9.1.3 или более поздней версии, может быть XMLMAP программа в вашей версии, которые вы можете сделать карты XML, которая очерчивает границы текущего импортируемого файла .xml.

"Очень" грубый эскиз XMLMAP:

filename my 'C:\sasdata\sample.xml'; 
filename map 'C:\sasdata\sample.map'; 
libname my xlm xmlmap=map; 

В качестве альтернативы, вы можете также попытаться открыть файл .xlm в Excel. Затем сохраните его как файл Excel и используйте proc import, чтобы импортировать его в SAS. Возможно, вам потребуется загрузить Excel XMLTools add-in.

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