Если у вас есть поле ввода, например
<input type="file" id="file" name="file" onchange="add(event)"/>
Вы можете получить файл в формате BLOB:
function add(event){
var userFile = document.getElementById('file');
userFile.src = URL.createObjectURL(event.target.files[0]);
var data = userFile.src;
}
Я могу немного опоздать, но, скорее всего, следующий XQuery будет делать то, что вы хотите, он возвращает путь к каждому XML-файлу, который не содержит определенного элемента:
let $path := "."
for $file in file:list( $path, true(), '*.xml')
let $path := $path || "/" || $file
where not(
exists(fetch:xml($path)/foo/bar[text() = "Text"])
)
return $path
Если вы были заинтересованы только в том, чтобы в конкретном XML-файле были или не содержали определенный элемент, следующий запрос мог бы быть полезным:
declare variable $path := "/Users/michael/Code/foo";
every $doc in file:list($path, true(), '*.xml') (: returns a sequence of file-names :)
=> for-each(concat($path,"/", ?)) (: returns a sequence of full paths to each file :)
=> for-each(fetch:xml#1) (: returns a sequence of documents :)
satisfies exists(
$doc/*/*[text() = "Text"]
)
Надеюсь, это поможет; -)