我试图将Moment.js与解析XML文档的jQuery函数一起使用。原始函数只解析了针对" asofdate"的XML文档。元素和"首字母缩略词"元素显示PDF文件的链接。
现在,在解析文档之后,我尝试使用Moment.js来定位XML元素,并使用Moment.js将日期从数字转换为文本。
任何人都可以指导我朝着正确的方向前进吗?它继续以数字格式显示日期。使用Moment.js自己的作品很棒。如果可能,我只需要将两者结合起来。
XML代码,文件名:content.xml
`<?xml version="1.0" encoding="Windows-1252" standalone="no"?>
<presentvalue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<rundate>2015-04-30</rundate>
<asofdate>2015-03-31</asofdate>
<data>
<report>
<acronym>abb1gx</acronym>
<fundname>Balanced Growth Composite</fundname>
</report>
</data>
</presentvalue>`
HMTL,jQuery和Moment.js
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="moment-develop/moment.js"></script>
<script type="text/javascript">
moment().format();
</script>
<script type="text/javascript">
$(document).ready(function() {
function parse(document) {
$(document).find("presentvalue").each(function(){
$("#date").append(
''+$(this).find('asofdate').text()+
''
);
})
$(document).find("report").each(function(){
var x = $(this).find('acronym').text();
//alert("x::"+x
//);
var returnedURL = url(x);
//alert("returnedURL:11:"+returnedURL);
$("#content").append(
<!--
//''+$(this).find('acronym').text()+
// add closing tag back here
'<a href=" ' +returnedURL + '" target="_blank">' + $(this).find('fundname').text() + '</a>' +
//'<br />URL: <a href="'+returnedURL+'" target="_blank">' +returnedURL+'</a>'+
'</p>'
);
});
}
$.ajax({
url: 'reports.xml', // name of file you want to parse
dataType: "xml",
success: parse,
error: function() {
alert("Error: Something went wrong");
}
});
// function will loop through all tags and create
// url string
function url(acroynm) {
//alert("acroynm in url()::"+acroynm);
var parsedUrl;
var counter = 0; // counter for funds
i = 0; // loop variable
// final url string
parsedUrl = 'http://www.testsite/files/';
//alert("url:11:"+url);
parsedUrl = parsedUrl + acroynm + ".pdf";
//alert("parsedUrl:22:"+parsedUrl);
return parsedUrl;
}
(function() {
alert('render date as text');
var correct = document.getElementById('date').innerHTML;
var Date1 = moment(correct, 'YYYY-MM-DD');
document.getElementById('date').innerHTML = Date1.format('MMMM DD, YYYY');
})();
});
</script>
</head>
<body>
<div class="container">
<center>
<p><b>Data As Of:<div id="date"></div></b></p>
</center>
<div id="content">
</div><!-- end content-->
</div>
<!-- /.container -->
</body>
</html>