Zamierzamy przenieść naszą frameworka z msxml4 do msxml6. My używamy jeszcze msxsl.exe. Wydaje się, że obsługuje tylko wersje MSXML do 4.0, jak mówi mi wiersz poleceń msxsl.exe -u wersja 6.0 . Czy istnieje następca msxsl.exe? Dowolny alternatywny procesor linii poleceń?następca msxsl.exe?
Odpowiedz
Istnieje wiele sposobów wymiany istniejącego procesora, zależy to tylko od poziomu wymaganej funkcjonalności i od tego, czy potrzebujesz funkcji specyficznej dla MSXML. Na przykład jest xsltproc, który jest częścią biblioteki libxslt (może na przykład otrzymać kilka plików binarnych z systemu Windows od here). Strona This umożliwia szybką zamianę w języku C#, ale obie zmieniają użycie wiersza poleceń i mogą nie implementować tych samych rozszerzeń MSXML (na pewno xsltproc nie).
Jeśli interesuje Cię prosty procesor wiersza poleceń, który używa MSXML 6, możesz zrobić coś gorszego niż przy użyciu prostej aplikacji JScript. Zapisz poniższy kod jako xsltr.js i uruchom jako cscript msltr.js input.xml template.xsl output.txt:
var adTypeBinary = 1;
var adSaveCreateOverWrite = 2;
var adSaveCreateNotExist = 1;
try
{
var args = WScript.Arguments;
if(args.length < 3)
{
WScript.Echo("Usage: xsltr.js file.xml file.xsl output.txt");
WScript.Quit(1);
}
else
{
var xml = args(0);
var xsl = args(1);
var out = args(2);
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
var xslDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
/* Create a binary IStream */
var outDoc = new ActiveXObject("ADODB.Stream");
outDoc.type = adTypeBinary;
outDoc.open();
if(xmlDoc.load(xml) == false)
{
throw new Error("Could not load XML document " + xmlDoc.parseError.reason);
}
if(xslDoc.load(xsl) == false)
{
throw new Error("Could not load XSL document " + xslDoc.parseError.reason);
}
xmlDoc.transformNodeToObject(xslDoc, outDoc);
outDoc.SaveToFile(out, adSaveCreateOverWrite);
}
}
catch(e)
{
WScript.Echo(e.message);
WScript.Quit(1);
}
nadal istnieje uzasadnienie nie można używać msxsl? Wersja 4.0 MSXML nigdy nie była standardową instalacją, więc zawsze musiałbyś ją zainstalować ręcznie (choć myślę, że przyszedł z pakietem Office w pewnym momencie). Czy nie możesz wdrożyć wersji 4 na komputerach, na których chcesz wykonać przetwarzanie?
- 1. Następca iteratora
- 2. Następca InstallJammer?
- 3. Następca/alternatywy dla 2D XNA?
- 4. Najlepszy substytut, następca lub alternatywa dla ASIHTTP dla kolejki pobierania
- 5. Następca iteratora niekoniecznie jest funkcją regularną: jak to możliwe?
- 6. Czy biblioteka Nana GNU jest martwa? Czy w użyciu jest następca?
- 7. Bean Validation 1.1 (JSR-349), alternatywy wdrożenia?
- 8. znajdź następcę kolejność w BST bez użycia dodatkowej przestrzeni
- 9. Parsowanie dużych plików pseudo-xml w pythonie
- 10. Jak zarządzać układem ui aplikacji Ember.js?
- 11. „Oczekuje spadkobiercą ResourceDictionary” - Co ten błąd oznacza,
- 12. W jaki sposób zdefiniowano "mniej niż" dla liczb rzeczywistych w Coq?
- 13. XSLT na SSRS zgłosić
- 14. Jaki jest status Microsoft Media Foundation?
- 15. Testy jednostkowe z wysiłku i SQL CE równolegle nie
- 16. RxJS: Rekurencyjna lista obserwowalnych i pojedynczy obserwator