El https://github.com/sara-nl/js-webdav-client no funcionó para mí
he usado jQuery para leer un archivo XML:
var URL = window.location.href;
var baseURL = URL.substring(0, URL.lastIndexOf('/'));
$.ajax({
type: "OPTIONS",
url: baseURL,
contentType: "text/xml", //for other files look up the api link below
headers: {Depth: "0"},
data: '<?xml version="1.0" encoding="utf-8" ?><D:options xmlns:D="DAV:"><D:activity-collection-set></D:activity-collection-set></D:options>',
success: function(data1, status, jqxhr){
latestRev = jqxhr.getResponseHeader('SVN-Youngest-Rev');
$.ajax({
type: "PROPFIND",
url: baseURL + '/!svn/rvr/' + latestRev,
contentType: "text/xml",
headers: {Depth: "0"},
data: '<?xml version="1.0" encoding="utf-8" ?><propfind xmlns="DAV:"><prop><resourcetype xmlns="DAV:"/></prop></propfind>',
success: function(data2, status, jqxhr){
$.ajax({
type: "OPTIONS",
url: baseURL,
contentType: "text/xml",
headers: {Depth: "0"},
data: '<?xml version="1.0" encoding="utf-8" ?><D:options xmlns:D="DAV:"><D:activity-collection-set></D:activity-collection-set></D:options>',
success: function(data3, status, jqxhr){
$.ajax({
type: "REPORT",
url: baseURL + "/!svn/me",
contentType: "text/xml",
data: '<S:update-report xmlns:S="svn:"><S:include-props>yes</S:include-props><S:src-path>/svn/check</S:src-path><S:target-revision>' + latestRev + '</S:target-revision><S:depth>unknown</S:depth><S:entry depth="infinity" rev="' + latestRev + '"></S:entry></S:update-report>',
success: function(data4,status,jqxhr){
svnSpecs = data4;
$.ajax({
type: "GET",
url: '/svn/check/!svn/rvr/' + latestRev + '/KickOff.xml',
converters: {"text xml": function(obj) {
hashBase = calcMD5(obj);
return obj;
}},
cache: false,
async: false,
success: function(data5, status, jqxhr){
hashdata5 = calcMD5(data5);
xmlString = $($.parseXML(data5));
drawTable(xmlString);
},
});
},
});
},
});
},
});
},
});
Si desea importar otros archivos XML que buscarlo aquí: http://api.jquery.com/jQuery.ajax/
En
data4/svnSpecs
se puede encontrar cada palabra clave que se utiliza dentro de su xml - acaba de hacer lo mismo que con el xmlString
Con a = xmlString.find("Member");
se obtiene una matriz con todos los miembros del objeto denominado xml si lo hace a[0].textContent = "Harry";
se establece el contenido del primer objeto dentro de su xmlString a Harry -> sólo se puede hacer una drawTable()
a refrescar la mesa después
EDIT: Dentro de la méthode drawTable()
que tiene que hacer el a.find("")
, var list = [];
y list.push("html text for a table")
y un $("#membertable").html(list);
escribir Everthing en la tabla existente "membertable"
el hashBase
es importante para cometer. no he terminado con el compromiso, pero casi. el código actual y el proceso ha terminado aquí: how to do SVN http-request checkin/commit within html
¿Qué tipo de JavaScript desea utilizar? JavaScript en un navegador o por ejemplo. node.js? – TimWolla
Javascript en un navegador. Me gustaría hacer algún tipo de vista/edición rápida para un repositorio SVN (y sin depender de un servidor PHP/Java para hacer el trabajo). –
En realidad tengo la misma pregunta, pero quería hacer DIFF de esta manera, proporcionando una forma de mostrar los cambios para una revisión determinada sin pasar por los comandos basados en el servidor.Matthieu: ¿finalmente lo hiciste funcionar? ¿Eres capaz de hacer DIFF también? –